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