碎碎思 · 6月26日

用FPGA做GPU?

由于 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...

项目架构

image.png
image.png

仿真

本项目也使用开源仿真器iverilog和cocotb进行仿真验证,想学习iverilog和cocotb的也可以跟着试一试。

FuryGPU

项目介绍

国外游戏软件开发者Dylan Barrie耗时四年,成功打造开源完全定制GPU——Fury GPU。该项目基于Xilinx FPGA设计,外观复古但配备现代化接口。目前项目还处于计划开源阶段。

image.png
640.gif

项目地址

https://www.furygpu.com/

项目架构

image.png

miaow

项目介绍

MIAOW是AMD Southern Islands GPU ISA的开源项目。

项目地址

https://github.com/VerticalRe...

项目架构

image.png

VeriGPU

项目介绍

一个用于机器学习的开源 GPU。

项目地址

https://github.com/hughperkin...

项目架构

image.png

总结

MIAOW项目文档最详细,包括GPU架构细节设计。VeriGPU设计最严谨,因为该项目的目标是流片。TinyGPU最简洁,主要目标是学习,同时也最“年轻”,目前作者还在进行设计修改。FuryGPU有层神秘的面纱,目前看项目功能完整,适合使用FPGA进行移植,但是目前作者还没开源。所以想学习这方面知识的建议看下Intel的文档,学习一下MIAOW和VeriGPU,然后跟着TinyGPU一起成长。

image.png

作者:碎碎思
原文:OpenFPGA

相关文章推荐

更多FPGA干货请关注FPGA的逻辑技术专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
10604
内容数
561
FPGA Logic 二三事
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息