大数跨境

谷歌也入局RISC-V,与AI芯片有关

谷歌也入局RISC-V,与AI芯片有关 Chinait在前沿看世界
2022-09-28
2


据theregister报道,RISC-V 初创公司 SiFive 表示,其处理器在某种程度上被用于管理谷歌数据中心的人工智能工作负载。


据 SiFive 称,涉及处理器是其 Intelligence X280,这是一种具有矢量扩展的多核 RISC-V 设计,针对数据中心的 AI/ML 应用程序进行了优化。当与从谷歌的张量处理单元 ( TPU ) 中提取的矩阵乘法单元 (MXU) 结合使用时,据称可以为机器学习工作负载的编程提供更大的灵活性。


从本质上讲,X280 处理器中的通用 RV64 内核运行管理设备的代码,并根据需要将机器学习计算输入谷歌的 MXU 以完成工作。X280 还包括自己的矢量数学单元,可以处理加速器单元无法处理的操作。


SiFive 和 Google 对此相当谨慎,也许是出于商业原因,关于它是如何封装和使用的,双方并没有透露太多。尽管听起来 Google 已经将其定制加速单元放置在多核 X280 片上系统中,连接Google 设计的 MXU 直接连接到 RISC-V 核心复合体。而根据 SiFive 的说法,这些芯片用于谷歌的数据中心和“人工智能计算主机”中,以加速机器学习工作。


我们想象如果这些被用于生产,这些芯片正在处理服务中的任务。我们注意到,您不能直接在 Google Cloud 上租用此硬件,它提供由传统 x86、Arm、TPU 和 GPU 技术提供支持的 AI 优化虚拟机。


本月早些时候在硅谷举行的 AI 硬件峰会上,SiFive 联合创始人兼首席架构师 Krste Asanović 和谷歌 TPU 架构师 Cliff Young 以及在早前SiFive 博客文章中,都披露了这些细节。


据 SiFive 称,它注意到随着 X280 的推出,一些客户开始将其用作加速器的配套内核,以处理加速器无法执行的所有内务管理和通用处理任务。


许多人发现需要一个功能齐全的软件堆栈来管理加速器,该芯片业务表示,客户意识到他们可以在大型加速器旁边使用 X280 核心复合体来解决这个问题,RISC-V CPU 核心负责处理所有维护和操作代码,执行大型加速器无法执行的数学运算,并提供各种其他功能。从本质上讲,X280 可以作为加速器的一种管理节点。


为了利用这一点,SiFive 与 Google 等客户合作开发了所谓的矢量协处理器接口扩展 (VCIX),它允许客户将加速器直接紧密链接到 X280 的矢量寄存器文件,从而提供更高的性能和更大的数据带宽。


根据 Asanović 的说法,好处是客户可以将自己的协处理器带入 RISC-V 生态系统,并在包含通用 CPU 内核和加速单元的混合。


从 Google 的角度来看,它希望专注于改进其 TPU 技术系列,而不是浪费时间从头开始制作自己的应用处理器,因此将这些加速功能与现成的通用处理器配对似乎是正确的方法。


VCIX 本质上以低延迟将 MXU 粘合到 RISC-V 内核,无需花费许多周期等待通过内存、缓存或 PCIe 在 CPU 和加速单元之间传输数据。相反,我们被告知,通过向量寄存器访问只需几十个周期。这也表明一切——RISC-V CPU 复合体和定制加速器——都在同一个芯片上,封装为片上系统。


应用程序代码在通用 RISC-V 内核上运行,任何可由 MXU 加速的工作都通过 VCIX 传递。根据 Young 的说法,这种方法还有其他优点以及效率。编程模型得到了简化,从而产生了一个带有交错的标量、向量和协处理器指令的单个程序,并允许开发人员在其中使用 C/C++ 或汇编程序进行编码的单个软件工具链。


“借助基于 SiFive VCIX 的通用内核与 Google MXU 的‘混合’,您可以构建一台机器,让您‘有蛋糕也能吃’,充分利用 MXU 的所有性能和通用处理器的可编程性CPU 以及 X280 处理器的矢量性能,”Young 说。


制造像这样的定制芯片的能力可能仍然是像谷歌这样的超大规模企业的领域,或者那些有利基需求和财力雄厚的企业,但它确实证明了由于开放生态系统 RISC-V 模型的灵活性可以实现什么.


这种灵活性和开放性似乎足以吸引谷歌——RISC-V 的长期支持者,在其一些其他产品中使用 RV 内核——使用新贵架构,而不是将其定制协处理器硬塞进 x86 芯片或 Arm - 许可设计。


SiFive Intelligence X280 作为 AI 计算主机:Google 数据中心案例研究


在 9 月 14 日于圣克拉拉举行的 AI 硬件峰会上,SiFive 联合创始人兼首席架构师 Krste Asanovic 与 Google TPU 架构师和 MLPerf 联合创始人 Cliff Young 一起上台,展示了最新的 SiFive Intelligence X280 处理器和SiFive 矢量协处理器接口扩展 (VCIX) 是如何被用作 AI 计算主机,与提供灵活的编程与数据中心中的 Google MXU(脉动矩阵乘法器)加速器相结合。他们还谈到了为什么这种类型的架构在 AI/ML 工作负载中越来越流行,以及通过这种配置,SiFive 如何提供必要的计算能力,以便谷歌可以专注于深度学习 SOC 开发。


SiFive Intelligence X280 是具有矢量扩展功能的多核 RISC-V 处理器,针对数据中心中的 AI/ML 应用程序进行了优化。正如 Krste 所解释的,X280 有一个 64 位应用处理器和一个支持 RISC-V Vector 1.0 批准标准的扩展矢量单元,提供了一个专为矢量计算执行标准软件而设计的全功能处理器。X280 具有 32 个 512 位寄存器,允许您将多个向量寄存器组合在一起以形成更长的向量(最多连续 8 个)。这允许高达 4096 位的操作,这有助于降低功耗并增加对具有较长向量的群组的优化。


SiFive 还提供了 SiFive 智能扩展,它添加了自定义指令以优化 AI/ML 工作负载。X280 运行完整的 RISC-V 软件堆栈以及管理程序。它是一款高效、支持 Linux 的处理器,具有完整的应用处理器支持,支持高达 48 位的虚拟内存空间以及私有 L1 和 L2 缓存。来自 L2 缓存的向量流和所有内核共享 L3 缓存。借助最新的 X280,SiFive 提供了改进的软件编译器以实现更高的性能、功能强大的应用程序内核、非常宽的矢量单元,并支持大型缓存一致的多处理器配置。


使用 Mobilenet 进行 AI 加速的示例,使用 X280 标准矢量指令(相对于标量 ISA)提供了 24 倍的巨大加速,然后使用 SiFive Intelligence 扩展实现了约 6 倍的加速。Krste 还指出,X280 可以自行运行,在边缘执行推理任务,它还可以作为应用程序处理器和推理引擎,用于较小的工作负载。


改变游戏规则的 VCIX


在推出 X280 之后,SiFive 开始看到很多客户将其用作配套核心。如上图所示,X280 具有许多加速 AI 和 ML 的特性,但它并不是传统上为数据中心构建的大型 AI 加速器。构建这些大型加速器的客户发现他们有一堆复杂的计算需要完成,而他们的加速器“真的不知道该怎么做”。例如,许多人发现您需要一个功能齐全的软件堆栈来运行不在位于加速器上的内核中的代码。为了解决这一挑战,客户意识到他们可以将 X280 内核放在他们的大型加速器旁边,在那里它可以提供维护代码和操作代码,运行大型加速器无法执行的内核,或者提供其他有价值的额外功能。


有了这些真实世界的客户反馈,SiFive 着手开发更适合这个用例的东西。通过与 Google 等客户合作,SiFive 提出了矢量协处理器接口扩展 (VCIX),它允许您将加速器直接插入 X280 的矢量寄存器文件,并以 10 个周期的快速进出顺序进行通信. 例如,这有助于添加复杂的指令,例如颜色转换。总体而言,VCIX 为您提供了更高的性能和更大的数据带宽,因为您可以直接进入向量寄存器文件,再加上更低的延迟和简化的软件。


VCIX 直接连接到 X280 中的 32 个 512 位寄存器,也连接到标量指令流,从而创建一个直接耦合到 X280 标量处理器的指令流的高带宽、低延迟路径。设计人员不仅可以将某些功能卸载到软件加速器,还可以灵活地让 X280 自己处理某些功能。正如 Krste 强调的那样,好处是您可以将自己的协处理器带入 RISC-V 生态系统并获得完整的软件堆栈和编程环境。您可以运行完整的 Linux 以及具有完整虚拟内存和缓存一致性支持的管理程序。


Google TPU 的优雅分工


正如 Cliff 解释的那样,谷歌在他们的 TPU 技术上进行了重大的创新和投资,他们基本上是在九年前从“零开始”构建的。认识到向更以 IP 为导向的世界的转变,谷歌希望专注于最关键领域的创新,以及他们真正的优势和差异化所在,例如 TPU 的网络和收缩阵列领域。


正如 Cliff 解释的那样,标量和矢量解决方案最好留给这些技术的专家,所以与其让谷歌重新发明轮子,他们寻找选项,SiFive 带来了解决方案。如果您可以使用通用堆栈重用通用处理器怎么办?在评估通用内核与加速器时,他们研究了如何让编程变得更容易。看看 VCIX,Google 看到了灵活性的机会,例如,如果你想在核心旁边运行 Python,你可以以非常低的延迟这样做。


他进一步强调了 VCIX 的承诺,即“将加速器和通用处理器紧密结合在一起”。与通过 PCIe 进行片上高速缓存的数百个周期或数千个周期的访问不同,您可以通过向量寄存器访问获得数十个周期的好处。


Cliff 解释了他所定义的重要“分工”,定义了配套核心和 MXU 之间的技术和业务运营。向量单元提供了一个宽泛的内存路径,并且大部分虚拟工作都是在 VCIX 中完成的。当您使用最少的指令添加界面覆盖时,无需打开解码器。VCIX 允许以更大的灵活性发送和接收指令。这种灵活性和控制允许在 Google 矩阵乘法单元 (MXU) 和 X280 之间进行清晰高效的分工。正如 Cliff 总结的那样,通过基于 SiFive VCIX 的通用内核与 Google MXU 的“混合”,您可以构建一台机器,让您“有蛋糕也能吃,“充分利用 MXU 的所有性能和通用 CPU 的可编程性以及 X280 处理器的矢量性能。对于谷歌和其他客户来说,这提供了更加可编程和灵活的未来机器。

版权申明:凡本公众号内容注明【原创】的,内容版权归本作者所有,未标注【原创】的图片与文字内容均转载自网络,版权归原创者所有,图片和文字如有侵权烦请告知我们,我们会立即删除。谢谢!


【声明】内容源于网络
0
0
Chinait在前沿看世界
1234
内容 1011
粉丝 0
Chinait在前沿看世界 1234
总阅读62
粉丝0
内容1.0k