新芯片将把控制权交给软件

Groq解构了传统的CPU,并设计了由软件接管控制功能的芯片。Groq Tensor流处理器架构顺应了软件控制系统功能不断增长的趋势,这一趋势已经出现在自动驾驶汽车、网络等硬件领域。


新架构将芯片的硬件控制交给编译器。该芯片在战略要点上集成了软件控制单元,以优化数据移动和处理。这些单元的组织方式与机器学习模型中发现的典型数据流一致。

“决定论使这种软件定义硬件的方法成为可能。不是要把细节抽象化,我们要控制底层的硬件。”Groq首席架构师丹尼斯·阿博特(Dennis Abts)说。

Abts在本周的热芯片(HOT CHIPs)大会上分享了Groq Tensor流处理器架构设计。软硬件联合设计并不新鲜,但这一概念在大会上再次出现。英特尔首席执行官帕特•盖尔辛格在演讲中提到这一概念是芯片未来的核心。

Groq是众多专门为人工智能设计芯片的公司之一。人工智能芯片具有基于发现的概率和关联模式来确定结果的功能,这也是在架构上实现软件硬件控制的基础。

Abts说:“我们所做的是尽量避免在系统层面出现这种浪费、错误和滥用。”

系统级别的复杂性通常会增加到数以万计的处理单元,例如CPU、GPU和智能网卡,它们在异构计算环境中具有不同的性能、电源和故障配置文件。

“结果,你最终会在响应时间、延迟、变化等方面有很多性能变化。而延迟的变化最终会减慢互联网的应用程序。”Abts说。

Groq重新检查了芯片上的硬件-软件接口,以便进行确定性处理。公司必须做出设计选择,彻底颠覆传统的芯片设计。一个ISA能够增强软件堆栈,明确地将控制权交给了软件,特别是编译器,这样它就可以从第一原则的角度来判断硬件上指令的正确性和调度。

在顶部,芯片有一个静态动态接口,可以让编译器在任何给定的时间看到系统的全貌。它取代了传统CPU上的运行时钟接口。

静态动态接口确保了编译器完全可以控制硬件,同时不会抽象掉硬件的细节。Abts说:“编译器对硬件在任何给定周期内的工作都有一个神奇的视角。”

将硬件控制交给软件可以释放硬件来执行其他功能。Abts表示,该架构与传统系统不同,传统系统采用无序执行、推测执行和其他技术来实现并行性和内存并发性。

该系统有220MB的“临时存储器”和分配的“张量”,因此编译器可以确定计算,它们在芯片中的位置,以及它们在每个周期中如何移动。芯片设计使整个系统的内存并发性可用。

Groq还分解了传统CPU中常见的功能元素,比如整数和向量单位,并将它们重新分配到单独的组中。这很像将内存或存储池放在一个单独的盒子中,这种紧密性提供了性能优势。这对人工智能应用尤其有利。

芯片设计与传统CPU不同,“它允许我们以传统CPU将较大指令分解为微操作的方式执行。”类似地,我们正在将深度学习操作分解为更小的微操作组成部分,并将这些操作作为一个整体来执行,共同完成一个更大的目标。”

该芯片设计有矩阵乘法单元,Abts说这是“主力”单元。它包含409,600个“权重”的存储单元,这提供了使AI应用程序更快所需的并行性。

该芯片的构建模块还包括SRAM内存、可编程矢量单元、480GB/s网络单元和数据交换机。这些都连接到144个片上指令控制单元,控制任务分派到相关的功能单元。

“这使我们能够保持非常低的硬件调度开销。只有不到3%的区域用于指令解码和发送,”Abts说。

Groq还采用了一种软件定义的方法来减少网络拥塞。

编译器可以像调度ALU(算术逻辑单元)或矩阵一样调度网络链接。这缓解了一些更传统的(基于硬件的)方法,”Abts说,特别是自适应路由。

Abts表示:“我们试图实现的是可预测和可重复的性能,在整个系统中提供低延迟和高吞吐量。”

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章