由于 GPU 市场竞争激烈,目前大公司除了专利垄断,一些技术细节也是封闭的。
除了英特尔,它发布了大量关于其 GPU 的技术文档:
https://kiwitree.net/~lina/in...
当然,还可以在网上找到一些古老的GPU 如 i810/815 手册。
AMD 也发布了大量文档 :
https://www.amd.com/en/develo...
包括其当前和过去产品的完整 ISA 文档,但是这些文档更倾向于“使用手册”,主要包括(数百或数千个)寄存器及其位域的简洁的描述。几乎没有任何关于微架构的解释。相比之下,英特尔文档更加完整。
上面是一些介绍类的文档,学习的关键是实操,今天介绍几个项目,主要是用FPGA做一个GPU。
TinyGPU
项目介绍
这个项目主要集中于探索:
- 架构 - GPU的架构是什么样子的?最重要的元素是什么?
- 并行化 - SIMD编程模型是如何在硬件中实现的?
- 内存 - GPU如何解决有限内存带宽的限制?
项目地址
https://github.com/adam-maj/t...
项目架构
仿真
本项目也使用开源仿真器iverilog和cocotb进行仿真验证,想学习iverilog和cocotb的也可以跟着试一试。
FuryGPU
项目介绍
国外游戏软件开发者Dylan Barrie耗时四年,成功打造开源完全定制GPU——Fury GPU。该项目基于Xilinx FPGA设计,外观复古但配备现代化接口。目前项目还处于计划开源阶段。
项目地址
https://www.furygpu.com/
项目架构
miaow
项目介绍
MIAOW是AMD Southern Islands GPU ISA的开源项目。
项目地址
https://github.com/VerticalRe...
项目架构
VeriGPU
项目介绍
一个用于机器学习的开源 GPU。
项目地址
https://github.com/hughperkin...
项目架构
总结
MIAOW项目文档最详细,包括GPU架构细节设计。VeriGPU设计最严谨,因为该项目的目标是流片。TinyGPU最简洁,主要目标是学习,同时也最“年轻”,目前作者还在进行设计修改。FuryGPU有层神秘的面纱,目前看项目功能完整,适合使用FPGA进行移植,但是目前作者还没开源。所以想学习这方面知识的建议看下Intel的文档,学习一下MIAOW和VeriGPU,然后跟着TinyGPU一起成长。
作者:碎碎思
原文:OpenFPGA
相关文章推荐
- FPGA与CPU进行数据通信有哪些方法?
- FPGA无芯片HDMI接入方案及源码
- Half-Buffer与Skid-Buffer介绍及其在流水线中的应用
- 基于FPGA的阵列相机的实时监测和大容量存储
- 基于FPGA的阵列相机的实时监测和大容量存储
更多FPGA干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。