GPU毫无疑问是当前半导体产业的标杆,它的并行运算模式承担了大部分人工智能算力需求。
我们FPGA开发者,肯定要学习GPU。
一般的开发者更多是从应用角度学习使用GPU,以最大程度利用好这个平台来加快模型的训练。我想的话,他们的重点是在代码的优化、算法的优化上面。
而我们FPGA开发者或者芯片设计行业设计工程师的角度肯定又不同。
笔者正在从事AI算力芯片的一部分IP设计,其中GPU和FPGA都是笔者需要学习和深入的领域。
我大致觉得可以通过项目来学习GPU。
我个人推荐三个项目,并全部附上git地址:
1 tiny-gpu 项目。
https://www.51cto.com/article/788220.html www.51cto.com/article/788220.html
"总有人说老黄的芯片供不应求,大家恨不得去手搓 GPU,现在真的有人试了。近日,美国一家 web3 开发公司的创始工程师之一 Adam Majmudar 分享了他「手搓 GPU」成功的经历,引发了网友们的一大片点赞。令人惊讶的是,他仅用两周时间就完成了这一脑力壮举。在 Twitter/X 的主题帖子中,Majmudar 进行了直播,一步步带我们回顾了整个过程。"--这个说法有趣
"Vortex 是一个开源 GPGPU 项目,包含硬件和软件。它扩展了标准 RISC-V ISA 以支持 GPGPU 的特性。"
Vortex架构
3 GPGPU model FlexGripPlus
该项目来自欧洲,开源在opencores.
Streaming Multiprocessor
也许GPU并不复杂,这是我从一位业内芯片设计大佬的交流中他的意见,但是斯巴达方阵组合的力量巨大。也许物理世界都遵循这个最简单的原则。
我本人时间也有限,我想开个专题,从我本人研究学习的角度带领大家一起来体会GPU的奥秘。会组篇来解析代码和结构,我相信对FPGA学习者会有一定参考价值。
请大家关注我和我专栏。