GPU是RISC-V作为开源架构的一块短板
不久前,我们刚刚分析了RISC-V的GPU生态,并谈到了当前的进展。虽然它仍处于起步阶段,但越来越多的人开始意识到GPU是RISC-V的弱点,并决心打破僵局。毕竟,GPU在某些领域已经超过了CPU,因为它的图形处理器能力和在AI/ML应用中的独特优势。
RISC-V希望进入智能手机和个人电脑等消费电子领域的下一阶段,GPU必须克服困难。然而,对于Arm来说,通用GPU并没有实现高性能。即使是苹果的M1系列芯片BAS19-7也只能通过媒体处理引擎和堆叠核心数量来提高一定的性能。为了促进RISC-VGPU的生态发展,仅仅依靠制造商是不够的。作为一种开源结构,RISC-V还必须充分利用开源社区的力量。
RISC-VGPU再次迎新玩家。
最近,一个开源RISC-V项目引起了人们的关注,即VeriGPU。作者是ASAPP研究工程师HughPerkins,人工智能呼叫中心自动化。因为作者选择Verilog作为硬件描述语言,这一定是项目名称的原因。
Hugh是一名具有多年机器学习和Python开发经验的高级开发人员。从剑桥大学毕业后,他选择在中国深造,最终在清华大学获得CS硕士学位。然而,在这个新项目中,他选择建立一个开源RISC-VGPU,专门为机器学习,并计划支持Pytorch的深度学习框架。
为了与Pytorch兼容,VeriGPU计划使用去年刚刚获得Pytorch官方支持的AMDHIPAPI,但VeriGPU不排除SYCL、英伟达CUDA等其他API。为了保证GPU的核心专注于机器学习,VeriGPU和谷歌的TPU芯片都选择了BF16浮点格式,这也可以降低GPU核心裸片的面积。
VeriGPU不打算使用无序执行,不仅因为单指令多线程(SIMT)无序执行的复杂性,还因为它会使GPU核心占用更多的面积,要么只能减少核心数量,要么只能接受成本的增加。因此,VeriGPU仍然选择轻量级并行指令执行。
值得一提的是,虽然是RISC-VGPU,但VeriGPU内部的GPU核心结构并不完全符合RISC-VISA。Hugh表示,当RISC-V与GPU设计发生冲突时,它会选择打破RISC-V的规范。毕竟RISC-V的扩展还在改进中,很难估计所有应用。
开源下的流片问题。
既然选择了Verilog,FPGA能否实现原型,利用FPGA现有资源加快开发过程,完成最终流量?但正如我们上面提到的,这不是一个通用的GPU,而是一个专门为机器学习的GPU。作者还表示,目标是ASIC流量。
更重要的是,FPGA完成流量的成本并不低。目前,如果FPGA仅用于培训机器学习模型,其成本效益并不优秀。Hugh说,他不打算自己制作流量,但他会试图验证GPU在流量后能否正常工作等。
考虑到如果是个人开发,流量成本不容低估。没有公司、学校或研究机构的支持,一个人很难完成流量,至少大型晶圆制造商通常不会浪费这段时间。这也可能是为什么Hugh不选择自己的流量,但开源项目的优势是VeriGPU的流量工作可以交给愿意尝试的参与者。
然而,开源项目的流量并不总是那么困难,至少他们现在有了新的选择。在谷歌的投资下,Skywater晶圆OEM和众包设计平台Efabless推出了多个晶圆(MPW)穿梭项目。谷歌在不久前的半年技术更新中分享了该项目去年的进展。
去年,MPW项目收集了三个项目,总设计量超过200个。谷歌计划今年继续支持更多的设计,所以如果开源芯片开发者计划获得自己的芯片,不要错过这个白嫖谷歌的机会。
该计划的启动对开源芯片开发人员来说是个好消息。首先提供的PDK不仅可以直接用于生产,而且是开源的,不需要签订合同或条约,如保密协议。在整合部分开源工具链的情况下,工程师的开发过程将更加顺利。更不用说最重要的生产环节了,谷歌已经为这个项目付费了,所以参与这个项目不需要花一分钱。
但对于开源GPU的开发,这可能是他们目前能做到的最大化。目前,市场上的GPU将选择更先进的技术,MPW只能提供130nm技术,因此性能肯定会大大降低。本项目的初衷是验证自己的设计,为硬件工程师提供更多的实践机会。