RISC-V的影响力日益增强

500

本文由半导体产业纵横(ID:ICVIEWS)编译自semiengineering

RISC-V 或许并非许多应用的完美解决方案,但它或许能提供一条演进路径。

业界越来越多地谈论RISC-V架构带来的好处,但它真的是一个正确的起点吗?虽然它可能并不完美,但它或许能提供逐步推进所需的灵活性。

计算机架构和软件的发展沿袭了 80 年前处理器的发展轨迹。它们旨在利用基础技术来解决顺序标量算术问题,只要有足够的内存,这种技术就能解决任何有限问题。

芯片行业已表现出不愿放弃这种做法,尤其是在那些仍在使用50年前开发的软件的行业。软件范式和向后兼容性有着巨大的影响。编程花了几十年的时间才以任何有意义的方式从单处理器迁移到多处理器架构,直到NVIDIA开发出CUDA,针对大规模并行处理器的应用程序才开始在高度专业化的应用程序之外进行开发。

那么,当许多应用程序的典型工作负载是数据流问题且控制量较小时,为什么业界需要另一种 CPU 架构呢?答案在于 RISC-V 架构可以有多种演进方式,其中一些方式可能支持缓慢迁移,而不是试图跨越巨大的鸿沟。

几周前,RISC-V 社区在欧洲举行了年度峰会,展示了 RISC-V 日益广泛的应用及其日益增长的影响力,尤其是在那些没有太多遗留软件阻碍其发展的应用领域。RISC-V 国际首席执行官 Andrea Gallo 表示:“RISC-V 不再只是你之前甚至都不知道的微型嵌入式微控制器,它已经融入到你的产品中了。RISC-V 已经进入了一个全新的阶段。”

这一观点得到了其他人的支持。“与往年欧洲的展会相比,今年的工业界参会者数量大幅增加,”新思科技业务发展执行总监 Larry Lapides 表示。“内容更多地来自工业界,这改变了会议的基调。我们看到,RISC-V 开始涉足一些五年前我们意想不到的领域。”

他举了几个重大进展的例子。“Infinium 表示他们正在将 RISC-V 用于汽车,”他说道。“欧盟正在资助 HPC 项目和汽车项目。Meta 正在其加速器卡中将其用于 AI。NVIDIA 估计,去年,也就是 2024 年,他们的 GPU 中 RISC-V 核心的出货量将达到 10 亿。”

其他人则强调了 RISC-V 在尖端处理器领域的重大进步。“它不仅应用于低端处理器,在某些领域,它还可以作为 GPU 的协处理器或加速器,”新思科技首席产品经理 Mohit Wani 表示。“NVIDIA 在一次演示中表示,他们的产品组合中有近 30 种不同类型的功能,而基于 RISC-V 的内核正在实现这 30 多种功能。”

一些商业和技术障碍仍需克服。“汽车行业越来越多地关注 RISC-V,”弗劳恩霍夫 IIS 自适应系统工程部设计方法负责人 Roland Jancke 表示。“他们一直犹豫不决,因为 RISC-V 是一个开放式架构。在汽车行业,如果出现问题,你总是需要有人来负责。如果你没有单一的供应商,而是一个社区,这很难。今天,由于潜在的成本降低,他们越来越多地关注 RISC-V,因为在汽车行业,你会想方设法降低价格。然而,你需要有一个生态系统。仅仅拥有能够开发处理器的工具是不够的,还需要基于此的软件。RISC-V 正在取得进展,但要让 RISC-V 处理器成为汽车领域的主力,还有很长的路要走。”

然而,并非所有人都认为这一点值得关注。Quadric 首席营销官 Steve Roddy 表示:“RISC-V 并非 AI 的解决方案——既不适用于训练,也不适用于推理。RISC - V 只不过是另一种控制 CPU,与 Arm、x86、MIPS、Xtensa 和 ARC 处理器一脉相承。后两者也为设计人员提供了与 RISC-V 类似甚至更胜一筹的指令集定制能力。因此,RISC-V 的技术特性并未使其比前代产品有显著的提升。”

要将两种极端观点结合起来,需要对行业运作方式有长期的理解。“RISC-V 有能力推动 AI 的演进,”微芯科技 FPGA 部门系统架构和嵌入式解决方案高级总监 Venki Narayanan 表示。“AI 需要这种演进。它正在不断发展。无论是在学习层面还是推理层面,模型都在不断发展。它需要各种数据类型、各种存储元素、本地内存,并且能够以更快的方式进行更多自定义计算。如果你仔细观察,就会发现有很多方法可以实现这一点。RISC-V 正通过特定领域的架构来实现这一点。”

独一无二的机遇

在芯片行业,很少有应用能够脱离传统软件而出现。然而,人工智能却发生了这样的事情。此外,鉴于技术发展速度之快,任何软件都不可能在成熟之前就再次被颠覆。这为持续演进和适应创造了完美的环境。

Synopsys 的 Lapides 表示:“由于无需支持旧版软件,你真的可以根据工作负载定制处理器,并省去不必要的功能。在架构层面,甚至在微架构层面,仍然可以进行大量优化,包括设计流水线、缓存和内存。而这一切都是在你开始其他事情、开始实施之前完成的。”

RISC-V 带来的自由度实现了架构的自由。RISC-V International 的 Gallo 表示:“AI 加速器卡可以拥有大量的 RISC-V 核心,甚至可以在同一个集群内拥有不同的核心。你可以拥有数百个小模块,每个模块都是不同的 RISC-V 核心,一些模块专用于数据传入和传出,一些模块专用于推理本身和处理。然后,你就可以添加自定义指令,从而拥有非常高效的张量单元。这就是 RISC-V 影响芯片架构的方式。”

虽然 RISC-V 许可增加了成本优势,但这并不是唯一的原因。“它的意义远不止于此,”Synopsys 的 Wani 说道。“如果你观察加速器连接到处理器的方式,你会发现它是通过一个快速接口,通常采用内存映射的方式。从开发者的角度来看,如果你想在加速器上完成工作,你需要通过接口将数据和任务信息发送到加速器,然后等待加速器发回结果。”

但这种通信成本高昂,而且意味着核心处于闲置状态。“你浪费了30%的时间来发送数据并获取结果,”Wani说。“如果你能原生地完成这些特定的操作,通过你自己的矢量流水线发送数据,然后直接连接到加速器,就可以避免所有这些时间。这种灵活性只存在于RISC-V的世界里。”

Quadric 的 Roddy 对此并不认同。“所有控制 CPU 在应用于 AI 应用,尤其是推理应用时,都会面临同样严重的限制,”他说道。“CPU 的设计初衷是追踪随机代码中的指针。它们不是矩阵或张量引擎。这些 CPU 充其量只能提供向量 * 向量的计算吞吐量。它们受限于传统的加载/存储带宽瓶颈。因此,每种声称使用 RISC-V 进行 AI 开发的方法都必须捆绑一个单独的矩阵引擎,这会引入图形分区问题,而这正是基于 CPU 的方法的致命弱点。应对 AI 问题的适当创新是创建本质上针对(矩阵 * 矩阵)或(张量 * 张量)进行优化的架构,并打破以 CPU 为中心对内存缓存和推测性乱序流水线的依赖。”

RISC-V 实现了这些功能,并将其封装在传统的控制处理器中。“我们的一些成员已经拥有自定义张量指令,”Gallo 说道。“这就是 RISC-V 的灵活性。您可以根据特定的工作负载开发自定义指令,然后承担定制特定应用的全部拥有成本。标准化和扩展规范也很有价值,这样我们就可以分担维护编译器、工具链和库的成本。我们有矢量,我们正在研究矩阵,并且根据应用用例,将有不同的矩阵方法。无论是加速器卡,还是 AI IoT 应用或边缘 AI,都会有不同的矩阵加速方法。”

由于没有其他候选方案,你只能利用现有资源。Microchip 的 Narayanan 表示:“数据流在人工智能和许多计算元素中都非常重要。计算需求不断增长,需要以更节能的方式实现。这不仅仅是指令、取指、执行和写回的微架构。关键在于如何组织微架构和数据流。如何让数据进出——尤其是大量数据从一层传输到另一层。你不能一直往前走,然后再写回 DDR。”

随着人工智能的快速发展,需要具备高度的灵活性。“需要高效实施的模型类型正在不断增多,”Microchip 人工智能和通信部门负责人 Nilam Ruparelia 表示。“ChatGPT 需要 Transformer,这也是人工智能流行的原因,但市面上有很多模型的复杂度远低于 Transformer。这些模型也需要更高的性能。例如,经典的 CNN、RNN 和 LSTM 需要数学模块架构和 DSP 模块架构,以便更好地适应这些 Transformer 或模型,从而大幅提升性能。”

人工智能并非只有一个问题,灵活性依然重要。“人工智能有多个层次,”Narayanan 说。“有分割、对象检测、分类、转换,所有这些都使用不同的数据类型。这些层次是如何实现的?如何高效地实现?如何在各个层次之间传输数据?这些都是我们要思考的问题,而架构正是帮助我们构建这些问题的。”

它不仅包含操作,还包含数据。“RISC-V 具有先天优势,你可以在不违反 ISA 规范的情况下定制硬件,”Microchip 的 Ruparelia 表示。“你可以更好地处理特定数据类型,无论是在指令级,还是在微架构中,因此你正在为该类工作负载构建定制的计算解决方案。这种灵活性对于快速应对新数据类型至关重要,而且在不久的将来,新数据类型将陆续出现,适用于不同类型的应用程序。”

但处理器优化未来任务的全部要求仍然未知。“如果我们构建一个用于边缘推理的处理器,它可能执行分类、检测、分割,甚至某种变换,”Narayanan 说。“这些都是固定的层,我们知道计算元素的设计更加优化,并贯穿这些工作流程。我们构建了一台针对当今需求进行优化的计算机,但这并不意味着如果你有一个新的层、新的运算符类型或类似的东西,我们就无法做到。只是它的效率不会像你当初那样设计的那样高。”

生态系统

生态系统一直是某些应用领域采用的一大障碍,但正在稳步推进。Gallo 表示。“这向生态系统发出了非常强烈的信号。Yocto 是最普及的嵌入式 Linux 发行版。这是 Yocto 项目多年来首次添加新的 ISA 和新架构,成为白金会员意味着 RISC-V 将与其他架构平起平坐。Yocto 不仅用于嵌入式 Linux、边缘 AI 物联网,还用于消费级机顶盒电视和汽车信息娱乐系统。”

移动领域正在迎头赶上。“谷歌已经将 RISC-V 打造成为 Android 开发领域的一流技术,”瓦尼说道。“随着软件堆栈的成熟,我们还将在移动设备、笔记本电脑等热门领域看到入门级应用核心。”

当足够多的领导者加入时,其他领导者也会纷纷效仿。“Red Hat 宣布他们已经为 RISC-V 推出了 REL 开发者预览版,”Gallo 说。“Fedora 也支持 RISC-V。去年 1 月,在欧洲的 FOSDEM 大会上,Canonical 透露他们正在制定计划,让 Ubuntu 支持 RVA23 配置文件。这意味着 RISC-V 已经为应用处理器和标准操作系统做好了准备。”

大量投资正在进行中。“欧洲另一个有趣的项目是DARE项目,”Lapides说道。“该项目将在未来五年投入2.6亿至2.8亿欧元。三家主要供应商都在构建芯片,而不仅仅是处理器IP。一个是通用CPU,一个是矢量加速器,还有一个是AI加速器。这些芯片将被集成。采用全新芯片架构的RISC-V很有吸引力。”

结论

RISC-V 或许并非许多应用(尤其是 AI 相关应用)的完美解决方案,但它或许能提供一条演进路径。此外,目前还没有其他方案能够提供更好的替代方案。

半导体行业很少有革命能够取得成功。通过建立一个开放且不断发展的社区,人们能够快速发展对当下需求、未来需求以及未来前景的定义,或许能够在不承担过多风险的情况下达到最终目标。通过循序渐进,生态系统能够跟上步伐,稳步前进。

*声明:本文系原作者创作。文章内容系其个人观点,我方转载仅为分享与讨论,不代表我方赞成或认同,如有异议,请联系后台。

站务

全部专栏