开源RISC-V或将重塑GPU格局

RISC-V一直以其开源特性而备受业界关注。不过,一直以来,RISC-V相关IP主要集中在CPU领域,而事实上,它也可以用在GPU领域。

你我都知道,GPU领域几乎被一两家企业所统治,这是因为GPU领域生态是最大的壁垒。加之专利门槛极高,GPGPU(通用GPU)IP在图形处理领域一直不温不火。

最近几年,业界开始探索通过扩展和改写RISC-V CPU指令集,来制造GPU。

 RISC-V GPU,有产品了 

对于RISC-V来说,GPU IP一直是一个痛。虽说Imagination曾经宣布其GPU IP将会支持RISC-V CPU,但真正将RISC-V做成GPU的却屈指可数。

真正使用RISC-V设计制造GPU的产品出现在2019年,那一年,一家成立于2007年的希腊IP厂商——Think Silicon推出业界首款基于RISC-V ISA的3D GPU NEOX V。

这家公司对于RISC-V GPU赛道极为执着,紧接着在2022年的Embedded World上,展出业界首款基于RISC-V的GPU,命名为NEOX G系列和A系列。

图片

今年Embedded World,Think Silicon又展示了用在MCU上的GPGPU方案NEOX-GA100,也是业界首个基于RISC-V的GPGPU架构,同时该公司拥有RISC-V RV64架构的全部权利。

根据官网显示,作为轻量级3D图形系统,整个3D、VG和2.5D API需要不到150KB的内存和10mW的功率,非常适合从低功耗裸机到RTOS和基于Linux的高性能系统。此外,该产品也可以在不增加芯片成本的情况下实现AI应用。

图片

NEOX-GA100架构,图源|Think Silicon

国内方面,也有相关产品发布。2023年11月,上海逸集晟(ezchip)发布了一款GPGPU核心IP——RVG-1。RVG-1是一个基于RISC-V架构,并且完整支持CUDA源码编译的软硬件一体解决方案。

官方信息显示,RVG-1在硬件上充分利用了RISC-V架构扩展指令的灵活性。基于RV32IMAF/RV64IMAFD基础指令集,增加了进程调度/管理指令和矩阵存取/计算指令的支持,并引入了多级缓存和存储控制,构建了一个可灵活配置核心算力/数量和缓存容量的GPGPU核心。目前在28纳米工艺下,该核心可以运行在800MHz,并且仍在持续优化中。

图片

目前来看,RISC-V GPU IP厂商们的野心的目标都很大,一方面布局边缘端的低功耗GPGPU,另一方面布局科学计算、AI的大型GPGPU。 

 全世界都在研究RISC-V GPU架构 

事实上,全世界都不想看一两家厂商垄断市场,都在想办法做各种开源GPU架构,这其中既包含较老的指令集或是中间语言进行实现,有些则基于RISC-V CPU指令集进行改进和扩展来实现GPGPU的功能。

图片

开源GPU汇总,图源|陈巍谈芯

2021年,乔治亚理工研究了一种支持CUDA的RISC-V GPU架构——Vortex。

图片

前几日,一个成立于2022年的美国公司X-Silicon发布了其开放标准、低功耗的C-GPU架构。

根据介绍,C-GPU架构将打造成为开源、统一的RISC-V 矢量 CPU-with-GPU ISA 架构,C-GPU采用NanoTile架构,X-Silicon将这种CPU/GPU混合处理器称为“万能处理器”。其处理器专为动态内容最佳管理和渲染而设计,并超越传统GPU限制。

翻译翻译就是把基于RISC-V架构的CPU和GPU放在同一个核内。

图片

X-Silicon的单核概念,图源|X-Silicon

国内方面,上海清华国际创新中心集成电路研究平台推出的首款基于RISC-V向量扩展(RVV)的GPGPU“Ventus(乘影)”,是国内首个开源GPGPU,也为后续协同企业开发国产全自主GPU商用产品的路上迈出关键一步。

根据官方信息显示,RVV GPGPU参考RISC-V CPU开发思路,在满足SIMT基础功能同时,汲取RISC-V向量扩展在功能定义和指令设计上优势,将二者有机结合,使乘影同时具备向量处理器工具链兼容性和GPGPU编程灵活性。

图片

乘影架构解读,图源|陈巍谈芯

陈巍博士解读,乘影主体大框架借鉴GPGPU的结构,每个流多处理器(Streaming Multiprocessor,SM)主体结构接近于RISC-V。后端执行则直接使用处理器中常用ALU、FPU、LSU。为了让SM能够完成GPGPU工作,乘影里添加了SIMT-stack和SFU这类GPU中的常见功能模块。

图片

图片

2024年2月,芯瞳成功开源了一款基于RISC-V指令集的GPU处理器模型RVGPU,这是芯瞳在RISC-V + GPU方向持续研究取得的重要突破。

根据官方介绍,RVGPU采用SIMT(单指令多线程)技术,现已成功实现对CUDA(Compute Unified Device Architecture)的兼容支持,包括CUDA编译器和运行时环境。除此以外,RVGPU的架构指令CModel仿真模型允许开发者在模拟环境中模拟GPU的各种指令和行为。

图片

RVGPU软件栈,图源|芯瞳半导体

综合来看,上述产品均基于LLVM开源工具链完成GPGPU编译器的开发,支持OpenCL开源并行编程框架。

图片

可见,所有厂商都有着一个共同的目标,那就是建设一个开源GPU生态。

不过,总的来说,GPU是一个非常复杂的产品,绝不仅仅只是一个开源GPU就能够与现有玩家五五开的,未来还依赖大量的研发与投入。

 用RISC-V做GPU,有好也有坏 

用RISC-V做GPU,有人拍手叫好,也有人觉得多此一举。

觉得它好的人,认为RISC-V可以直接套用RISC-V的生态,不需要完全自建GPU生态,规避了与CUDA的专利对决。毕竟这是个开源的GPU IP,大家都加入到开源建设的大家庭,就能够弥补GPU生态不足,也不容易踩到知识产权的坑。

与此同时,每个SM核的独立性更好,可以执行比常规GPU CUDA核更复杂的计算。如果加上MMU,未来甚至可以在每个SM核上跑操作系统,非常有利于虚拟化。

觉得它不好的人,认为目前的RISC-V GPU产品,都是目前NVIDIA的GPU的形似物,设计没有什么太大差别,而HBM这样的器件八成是用不起的,其它诸如Nvidia GPU里面的Texture Unit也是缺失的。

更何况,CUDA这样的生态是很难跨越的鸿沟。有大佬曾言:“如果你看一下GPU的生态系统,就会发现工具链是由NVIDIA控制的,包括AMD在内的其他竞争对手都试图打破垄断,但失败了。通过扩展RISC-V标准指令集,几乎不可能与不断更新的NVIDIA生态系统兼容。另一方面,也很难重新开始,因为英伟达拥有先发优势。”

所以,对于大部分RISC-V GPU来说,支持CUDA生态至关重要,我们也看到许多厂商确实也是这样做的。因为虽然通过LLVM可能只需要重构compiler后端,但性能好不好就是另外一回事了。

还有比较激进的观点,认为从RISC-V开始做GPU,不如直接从白纸开始做。他们认为,要使基本的RISC-V指令集适应GPU任务,需要大量投资来定义自定义ISA扩展,构建高度复杂的微架构更改,并对开源工具进行大手术,使它们几乎与原始工具相似。这样一来,使用RISC-V的几乎所有潜在价值,都被定制架构比下去了。

就连上海交大也曾经说过,“我们想做的是一个独立完整的GPGPU架构和指令设计,而不依赖于现有RISC-V CPU开源指令,这样才能更完备地打造和融入原生的GPGPU生态 ,从而与现有的各种CPU系统无缝衔接。”所以因此,他们做了“青花瓷”这样一个定制的开源GPGPU架构。

但多一条路线,总归是好事。毕竟RISC-V CPU发展迅速,如果RISC-V CPU发展好,RISC-V GPU就能跟着“发财致富”。这条路好不好,就全看RISC-V能发展成什么样子了。

参考文献

[1] 知乎:https://www.zhihu.com/question/549317122

[2] 中国电子报:初入GPU赛道,RISC-V能否取得好表现?.2023.1.24.https://mp.weixin.qq.com/s/X3cexh0a4kgC8eZQMmo_og

[3] 乘影:https://opengpgpu.org.cn/

[4] AI芯天下:热点丨全球首款RISC-V 3D GPU即将亮相.2022.6.20.https://mp.weixin.qq.com/s/Obtc0LVcLHPIrkTlYjywXQ

[5] The Tech Outlook:https://www.thetechoutlook.com/press-release/think-silicon-to-showcase-its-latest-ultra-low-power-3d-graphics-and-ai-in-one-ip-architecture-at-embedded-world-2024/

[6] Think Silicon:https://www.think-silicon.com/

[7] Jon Peddie:https://www.jonpeddie.com/news/x-silicons-low-power-open-standard-vulkan-enabled-c-gpu/

[8] 芯瞳半导体:芯瞳开源基于RISC-V架构的GPU模型RVGPU.2024.2.23.https://mp.weixin.qq.com/s/K1RUIEo8BL88Rxmimc4GAw

[9] ezchip:ezchip发布基于RISC-V架构的CUDA兼容GPGPU核心——RVG-1.2023.11.20.https://mp.weixin.qq.com/s/4XYG8fPQ8a7w7mjNym3uVA

付斌|作者

电子工程世界(ID:EEWorldbbs)|出品

开放源码的GPU计算能力可以推到一个新的水平BINGHAMTON,纽约–Binghamton大学的研究人员已经使用一个开源的图形处理器(GPU)的研究。宾汉姆顿大学计算机科学助理教授Timothy Miller Aaron Carpenter和研究生Philip Dexter,与合著者Jeff Bush,有Nyami,一个综合的图形处理器(GPU)的通用图形的特定工作负载的建筑模型。这标志着第一次的团队采取了一个开源GPU的设计和运行的一系列的实验,看看不同的硬件和软件配置会影响电路的性能。根据Miller的说法,其结果将有助于科学家们做出自己的GPU计算能力和推到一个新的水平。“作为一个研究人员,重要的是要有工具,实事求是地评估新的想法,可能会提高性能,能源效率,或其他处理器架构的挑战,”Miller说。虽然模拟器可以走捷径,一个实际的综合开源处理器不能偷工减料,所以我们可以说,任何实验结果得到特别可靠。”GPU已经存在了大约40年,通常发现在商业视频或图形卡在电脑或游戏机。专门的电路有计算能力,使图像更平滑,更充满活力的屏幕上。最近有一个运动,看看芯片是否可以应用到非图形计算,如算法处理大块数据。 “我们不一定在寻找结果的新颖性,所以我们想创建一个新的工具,然后显示它是如何使用的,”Carpenter说。我希望人们能更有效地在GPU上的实验,为爱好者和研究者,创造未来的GPU更高效的设计。”开源GPU用于他们的研究团队是宾厄姆顿的先河。虽然成千上万的GPU是每年生产的商业化,这是第一个可以修改的爱好者和研究者了解如何变化可能会影响主流芯片。布什,在公司的软件工程总监,是该论文的第一作者。“这是坏的开源社区,GPU厂商都决定保持他们的芯片规格的秘密。这阻止了开源开发人员编写可以利用该硬件的软件,“Miller说。Miller开始在2004个类似的项目,而布什开始工作的nyami 2010。”这使得其他研究者更容易进行他们自己的实验,因为他们不需要重新发明轮子.。随着“开放硬件”社区的贡献,我们可以把更多的创造性的想法,并产生一个越来越好的工具。调查结果的后果可能使处理器更容易为研究人员工作,并探讨不同的设计权衡。Dexter,Miller,Carpenter和布什已经走出了一条新的道路,可能会影响从太空旅行的一切发现心脏手术。“我有一个论文的研究思路列表我们可以探索利用nyuzi [芯片更名],专注于各种性能瓶颈。这个想法是为了寻找那些让nyuzi低效相比其他GPU和解决那些问题研究。我们也可以用nyuzi作为开展研究,不是针对GPU平台,能源效率和可靠性,”Miller说。本文《Nyami:一个综合的GPU通用建筑模型和图形的具体工作量”出现在对系统和软件的性能分析国际研讨会。http://www.binghamton.edu/mpr/news-releases/news-release.html?id=2362--------------------------------------------------------------------------------------------------------NyuziProcessorMicroarchitecture 该项目是一个专为高度并行和GPGPU应用程序设计的开源处理器。 它的灵感来自英特尔的Larrabee,虽然指令集和微架构有很大的不同。处理器运行在Verilog仿真和FPGA上。它是一种现代架构,具有集合关联L1和L2缓存,细粒度硬件多线程,流水线SIMD浮点和整数执行单元,并支持多个缓存一致性内核。它包括基于LLVM的C/C 编译器。GPU已经被证明对于具有大量内在并行性的应用程序是有用的,如图像处理和机器学习。 然而,GPU具有缺乏灵活性的高度约束的编程模型。 这个项目是一个混合架构,结合GPU架构概念,如宽SIMD和硬件多线程与通用指令集。 硬件实现的重点更多在于计算而不是图形,缺乏固定功能的图形硬件。 它能够作为协处理器或独立处理器操作。这已使用Nangate 45nm库合成。每个核心的估计:面积1.84 mm2,功率329 mW,最大频率671 Mhz。 标签:Nyuzi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值