引用: 无论是人工智能、高性能计算,还是汽车或TWS,我们已经在各种产品形态中看到了RISC-V的身影。然而,有一种产品却成了RISC-V长久以来的痛,那就是GPU。固然,RISC-V在某些方面已经有了不逊色与ARM的计算能力表现,但在图形处理上还是没能匹敌ARM多年来的积累。但境况似乎正在慢慢好转,近年来RISC-V的GPU生态也已经开始发力了。
已有GPU生态的支持
去年1月,赛昉科技发布了可运行Linux操作系统的星光RISC-V单板计算机,搭载了赛昉的惊鸿7100 RISC-V视觉处理芯片。为了添加更加强大的图形性能,赛昉授权采用Imagina
tion的B系列GPU IP,并计划在该单板计算机的后续量产版本中使用Imagination的BXE-4-32。
IMG B系列GPU IP / Imagination
同样用到Imagination B系列GPU的还有晶心,今年1月,晶心科技宣布已经完成IMG BXE-2-32 GPU与其AX45 RISC-V GPU的联合验证工作,在
FPGA上使用Linux系统完成了渲染大量图形的工作负载和基准测试。而此前RIOS Labs的RISC-V微型计算机PicoRio也宣布与Imagination达成合作,宣称计划在PicoRio 2.0版本中引入Imagination的PowerVR GE7800 XE系列GPU。
Imagination的GPU具备与多种处理器架构协同工作的潜质,其B系列更是可以达到最高6TFLOPS的算力,对于视觉计算优异但3D图形处理仍然偏科的RISC-V来说,可以说是一个很好的辅助,尤其是对于图形性能有一定要求的消费类设备。
尽管这种异构的设计已经见怪不怪了,但归根结底这并非基于RISC-V架构的GPU,而ARM在GPU上的崛起,靠得正是Mali和Adreno之类的ARM架构GPU,RISC-V要想在架构之战站稳脚跟,也必须得打造基于自身架构的GPU。不过Imagination已经开始在做Catapult系列RISC-V CPU,有朝一日把RISC-V引入其GPU设计中也说不准。
RISC-V架构下的3D GPU
Think Silicon是一家罕见的来自希腊的IP公司,早在2007年就已成立,主要致力于小型超低功耗的2D/3D GPU核心,用于移动和可穿戴设备。然而在希腊的企业环境下,
半导体初创企业难以找到资本投入,导致公司十余年来没有盈利,直到近几年才有所好转。2020年,这家公司被半导体设备厂商应用材料公司给收购,成为其全资子公司。2021年3月,这家公司推出了业界首个基于RISC-V的3D GPU NEOX。
NEOX架构图 / Think Silicon
NEOX是一个并行多核多线程的GPU架构,基于RISC-V的RV64C指令集与自适应NoC。NEOX可内置1到16个簇元素,集成4到64颗核心,每个簇都可以配置缓存大小和线程数。取决于簇/核心数量的配置,NEOX GPU的算力在12.8到409.6GFLOPS(800MHz)之间,支持FP16和FP32的浮点精度。
NEOX不同配置下的算力 / Think Silicon
Think Silicon提供NEOX的SDK、系统Verilog RTL、集成测试、LLVM C/C++编译器、GCC C/C++编译器。目前NEOX 支持开放图形框架,比如OpenGL ES和Vulkan。其次NEOX也有很强的定制性,支持计算机视觉、AI计算与用户自定义的扩展。
不过目前NEOX对系统的支持还很有限,仅支持Linux、RTOS和WearOS,要想作为消费级的GPU的话,没有Windows和安卓这两大平台的支持的话,也是很难做起来的。但考虑到Think Silicon的老本行就是主要做IoT设备、可穿戴和小屏嵌入式设备,在系统支持和算力上其实也无需多高的要求。
根据Think Silicon的说法,他们将NEOX视为一种灵活可扩展的GPU方案,支持在资源有限的设备上快速部署AI、机器学习和GPGPU应用程序,并以超低功耗的优势显著延长电池寿命。
该芯片的产品开发总监Iakovos Stamoulis博士也是从业20余年的半导体老将了,20年前还在Advanced Rendering Technology工作期间,他就联合开发首个光追图形引擎芯片AR350。在这样的大佬带领下,Think Silicon或许有机会更进一步,把RISC-V GPU往光追这样的先进图形技术上发展。
开源GPU生态
RISC-V作为一个开源指令集,自然也少不了开源的RISC-V GPU。同样在去年,一个RISC-V开发
小组发布了一个项目,名为RV64X,其目的就是为了补全RISC-V的3D图形与多媒体处理指令集,将GPU集成在RISC-V处理器上。RV64X小组的成员来自于各大参与RISC-V标准制定与开发的公司,包括Pixilica、高云半导体和西部数据。
RV64X的扩展性 / Pixilica
首个RV64X的原型GPU设计主要面向MCU,且将仅限于支持Vulkan图形API,但他们承诺未来也会增加对OpenGL乃至Direct X的支持。RV64X的另一大特殊之处在于它将作为一个CPU-GPU混合的ISA迭代,这样在完成通用计算任务的同时也能完成图形计算任务。此外,RV64X采用了单内存模型的设计,消除了处理3D API运算时,GPU内存与CPU之间的额外调用。
根据Pixilica CEO Atif Zafar的回复,RV64X小组已经被RISC-V国际基金会认可为图形工作组,他们也已经准备好了初期的规范以供审核,后续会整合到RISC-V规范中。但新扩展的推出往往需要一段时间,所以在此之前都不会有任何代码或RTL公布。
Vortex开发路线图 / Georgia Tech
再者就是去年因为开发CUDA移植而火了一把的Vortex GPU,Vortex是一个低成本的RISC-V GPGPU加速器方案,利用了现有的ISA和软件栈,当下的FPGA就能满足其资源要求,比如英特尔的Arria 10和Stratix 10等等。不过目前的软件栈暂时仅支持OpenCL 1.1 API,除了正在开展移植工作的CUDA外,Vortex还计划支持Vulkan、OpenVision和Tensorflow等,并移植到Xilinx的FPGA上。
结语
从以上进展来看,RISC-V的GPU生态发展还在初期,但无论是RISC-V公司、老牌GPU企业和开源社区都开了个好头,未来相信会有更多玩家的加入。国内近年来也涌现了不少优秀的GPU公司,或许他们也会就着这个势头跟进。