|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
据报道,为RISC-V 架构(x86 和 ARM 的新兴竞争对手)芯片创建合法图形处理器的活动正在蓬勃发展。
RISC-V 的首席技术官 Mark Himelstein 告诉The Register,明年 RISC-V 的特殊兴趣小组将扩大对着色器和高级矩阵运算的扩展的关注,这对人工智能和机器学习很重要。
开发指令集架构的 RISC-V International 有兴趣小组开发扩展,用户可以将其添加到他们的芯片设计中。
Himelstein 说,2021 年,联盟批准了 16 个RISC-V 扩展,明年这个数字还会增长。许多新扩展是今年 RISC-V 峰会上宣布的主流计算芯片的一部分。
“如果有人需要更快的东西,他们可以将它作为非标准扩展来实现,并用他们的专有位自己实现,然后将其带回 RISC-V,尝试将其作为标准加入,如果他们就是这样的话想要,或者他们可以保留它的所有权,”Himelstein 说。
RISC-V 对 GPU 的关注主要是从 AI 和科学计算的角度来看的,尽管对着色的关注代表了为游戏和图形设计创建成熟的 GPU 扩展的初步努力
与此同时,RISC-V 的 GPU 的其他选项也可用,但不要指望可以直接从货架上购买它们。
想象一下所有的 GPU
ImaginationTechnologies 本周通过名为 Catapult 的 RISC-V 处理器重新进入 CPU 市场,并表示其 GPU 将与 RISC-V 配合使用。该公司的 PowerVR 图形核心被 Apple 用于 iPhone,并在采用 MediaTek 等公司芯片的移动设备中广受欢迎。
Imagination 的首席营销官大卫·哈罗德 (David Harold) 告诉The Register : “没有理由不能将 C 系列(具有光线追踪的部分)与 RISC-V 集成。”
创建 RISC-V 芯片设计的 AndesTechnology 已经验证了 Imagination 的GPU 与 RISC-V 兼容,RIOS 实验室也是如此,该实验室的工作人员是 RISC-V 基金会董事会副主席 David Patterson。
Imagination 对 RISC-V 和 GPU 有更广阔的视野,超越了 PC。除了人工智能、网络和其他知识产权,在汽车等领域还有更广泛的应用。
Harold 说:“我们认为,这是各种高强度工作负载的设计未来,尤其是由自主系统等驱动的工作负载。”
Imagination 计算副总裁 Shreyas Derashri 告诉The Register,随着芯片架构变得越来越重要,RISC-V 上对 GPU 的需求可能是根本性的。
“如果你正在运行面部解锁算法或面部检测,它们是按顺序运行的部分,可以在带有矢量扩展的 CPU 上更好地运行。浮点中的部分在 GPU 上运行得更好,”Derashri 说。
还有其他努力将 GPU 置于 RISC-V CPU之上。带有RISC-V芯片和GPU的开发板开始销售,但很快就售罄。另一组正在将 Nvidia 的软件开发工具包 CUDA 移植到 RISC-V,该工具包专为该公司的 GPU 设计。
RISC-V能改变GPU吗?
RISC-V能处理GPU的事务吗?这项工作正在进行中,可以通过创建一个具有自定义可编程性和可扩展性的小型区域高效设计来实现这一目标。
任何研究过GPU架构的人都知道这是矢量处理器的SIMD构造。它是一种超高效的并行处理器,已用于从运行模拟和出色的游戏到教导机器人如何获取AI以及帮助聪明的人操纵股票市场的所有事物。它甚至在我写这篇文章的时候检查我的语法。
但GPU领域已经成为一个私有领域,其内部工作是由AMD、Intel、Nvidia等开发者的IP和秘密武器所完成的。如果有一套新的图形指令设计为3D图形和媒体处理呢?嗯,可能有。
新的指令正在RISC-V基本向量指令集上构建。他们将根据核心RISC-V ISA的精神,添加对特定于图形的新数据类型的支持,作为分层扩展。支持向量,先验数学,像素和纹理以及Z / Frame缓冲区操作。它可以是融合的CPU-GPU ISA。lilibrary -RISC 3D组称它为RV64X (图1) ,因为指令将是64位长(32位将不足以支持一个健壮的ISA)。
1.RV64X图形处理器除了专用的纹理单元和功能块外,还包括多个DSP。
该组织表示,他们的动机和目标是希望创造一个小型、高效的设计,具有自定义的可编程性和可扩展性。它应该提供低成本的IP所有权和开发,而不是与商业产品竞争。它可以在FPGA和ASIC目标上实现,并且是免费和开源的。最初的设计目标是低功耗微控制器,将兼容Khronos Vulkan,并支持其他api (OpenGL, DirectX等)。
GPU + RISC-V
目标硬件将有一个GPU功能单元和一个RISC-V核心。该组合以64位指令编码为标量指令的处理器的形式出现。关键在于编译器将从带前缀的标量操作码生成SIMD指令。其他功能包括可变问题、基于谓词的SIMD后端;分支跟踪;精确的异常;和矢量前端。设计将包括一个16位定点版本和一个32位浮点版本。前者适用于FPGA实现。
该团队说:“不需要使用RPC / IPC调用机制来将3D API调用发送到未使用的CPU内存空间或从未使用的CPU内存空间发送到GPU内存空间,反之亦然,”
“融合” CPU-GPU ISA方法的优势在于可以在微代码中使用标准图形管道,并且可以支持自定义着色器。甚至可以包括光线追踪扩展。
该设计将采用Vblock格式(来自Libre GPU的努力):
这有点像VLIW(但不是真的)。
指令块之前带有寄存器标记,这些标记为该块内的标量指令提供了额外的上下文。
子块包括向量长度,旋转,向量/宽度覆盖和预测。
所有这些都添加到标量操作码中!
没有矢量操作码(也不需要任何操作码)。
在矢量上下文中,它是这样的:如果标量操作码使用寄存器,并且该寄存器在矢量上下文中列出,则将激活矢量模式。
激活会导致硬件级别的for循环发出多个连续的标量运算(而不只是一个)。
实现者可以自由地以他们想要的任何方式来实现循环-SIMD,多问题,单执行;几乎任何东西。
RV32-V向量处理2到4个元素的8位,16位或32位/元素的向量操作。对于用于64位和128位固定和浮点XYZW点的常规3D图形渲染管线,还将有专门的指令。8、16、24和32位RGBA像素; 8位,每个组件16位UVW纹素;以及灯光和材质设置(Ia,ka,Id,kd,Is,ks等)。
属性向量表示为4×4矩阵。该系统将本地支持2×2和3×3矩阵。向量支持也可能适用于使用AI和机器学习应用程序中常见的8位整数数据类型的数值模拟。
设计中可以包含自定义光栅化器,例如样条线,SubDiv曲面和面片。该方法还允许包含自定义管线阶段,自定义几何/像素/帧缓冲阶段,自定义细分器和自定义实例化操作。
RV64X
RV64X参考实现包括:
指令/数据SRAM缓存(32 kB)
微码SRAM(8 kB)
双功能指令解码器(实现RV32V和X的硬连线;用于自定义ISA的微编码指令解码器)
四向量ALU(32位/ ALU-固定/浮动)
136位寄存器文件(1k个元素)
特殊功能单元
纹理单位
可配置的本地帧缓冲区
RV64X是可扩展的架构(图2)。它的融合方法是新的,对于自定义数据类型使用可配置寄存器也是如此。用户定义的基于SRAM的微代码可用于实现扩展,例如自定义光栅化器阶段,光线跟踪,机器视觉和机器学习。单一设计可以应用于独立的图形微控制器或具有可扩展着色器单元的多核解决方案。
2. RV64X可以从简单的低端设计(左)扩展到多核解决方案(右)。
RISC-V的图形扩展可以解决可伸缩性和多语言问题。这可以实现更高级别的用例,从而带来更多的创新。
下一步是什么
RV64X规范仍在早期开发中,可能会发生变化。正在建立一个讨论论坛。近期目标是使用指令集模拟器构建示例实现。这将在使用开放源代码IP和设计为开放源代码项目的自定义IP的FPGA实现上运行。 |
|