背景
Groq 是一家由多位前 Google TPU 开发者组建的芯片公司。成立于 2016 年底,Groq 的目标是为 AI 和 HPC 工作负载提供毫不妥协的低延迟和高性能。与传统的 CPU 和 GPU 架构不同,Groq 从头设计了一个张量流处理器(TSP)架构,以加速人工智能、机器学习和高性能计算中的复杂工作负载。
TSP 的设计理念
Groq 引入了“软件定义硬件”的思路,将芯片中的控制和调度操作都交给软件完成,从而减少相应的硬件开销,压榨更多的性能。具体来说:
-
静态和动态界面:Groq 使用静态和动态界面来区分编译时和运行时的操作。软硬件接口由指令集架构(ISA)实现,仅向编译器暴露必要的体系结构内部状态。
-
确定性设计:Groq 设计时确保硬件可以完全由编译器来控制,以显式地控制底层硬件。编译器能够清楚地了解硬件在任何给定周期内的工作情况。
-
数据并行性:Groq 在一个 220 兆字节的 scratchpad 内存中显式分配 tensor,以便编译器知道 tensor 的位置以及它们如何在芯片上移动。这种架构使得编译器能够推断每个流寄存器之间只有单周期跳。
TSP 微架构
-
SIMD 功能单元:Groq 将功能单元分解并重新组织成 SIMD 功能单元,通过在彼此之间传递操作数和结果来相互协作。这种有效运作方式称作“链条化”,可以将一个功能单元的输出链接到相邻下游功能单元的输入。
-
大型 MXM 模块:芯片上的大型 MXM 模块是 TSP 架构的主力,包含 409,600 个乘加器。通过芯片上的数据并行来利用大量权重参数,提供巨大的计算密度。
-
软件定义硬件:Groq 显式地将控制权移交给软件,特别是编译器,以便它可以从第一性原理的角度推断硬件上的正确性和调度指令。
总结
Groq 的 TSP 架构为 AI 推理领域带来了突破性的性能。它的设计理念和微架构都充满创新,让我们期待更多 AI 加速器的发展和应用。