Dennis Abts领导的Groq团队于2022年在“hotchips34 - 2022”会议中公布了一份技术文档,详细展示了Groq的Tensor Streaming Processor (TSP)架构及其概念。以下是报告的详细内容:
文档探索了Groq芯片的设计哲学:确定性(determinism)和软件定义硬件(software-defined hardware)。传统微处理器架构(例如Intel Cascade Lake架构)通过复杂硬件动态机制(如缓存、动态调度和推测执行)来提高性能,但这些临时机制却引入了非确定性、增加了功耗和延迟。另外,大规模计算和深度学习面对的挑战包括内存一致性问题、网络拓扑复杂性、全局同步困难等。Groq提出了新的设计理念,以解决这些问题,同时实现性能、效率及可扩展性。
Groq芯片的主要目标是通过引入完全软件可控并确定的执行模型,避免传统复杂硬件机制,设计出可预测的高效计算硬件。其研究领域覆盖人工智能(AI)计算、机器学习(ML)、高性能计算(HPC)等。
文档首先解释了“软件定义硬件”的意义:硬件通过公开架构状态(比如编译器可见的寄存器或内存状态)来使软件可以推理程序执行的正确性和性能表现。此外,它提出了静态-动态接口(static-dynamic interface),在编译时静态分析和运行时动态执行之间建立清晰界限,使其运行时层可高效管理计算。
Tensor Streaming Processor(TSP)的整个硬件设计围绕“确定性”展开:
1. 禁用硬件中的“反应式组件”(例如仲裁器、交叉开关、缓存等)。
2. 编译器在硬件上拥有完全控制权,通过静态分析和调度计算流。
3. 硬件提供固定延迟的功能单元和完全可见的硬件状态,以允许软件进行操作推理。
TSP芯片采用分层处理的SIMD(Single Instruction Multiple Data)架构,划分为功能切片(functional slice)。它包括以下主要功能模块:
- MXM(Matrix Multiply Engine):支持矩阵/到向量运算,擅长计算密集型线性代数任务,如GEMM(通用矩阵乘法)。
- VXM(Vector Processor):支持高级向量运算,覆盖了超集的数据类型操作。
- SXM(Switch Execution Module):用于数据移动和形状转换,支持分配、置换、旋转、转置等流操作。
- MEM模块:配置为88个独立的片上SRAM存储块,提供高达80TB/s的带宽,为流式程序模型提供足够的存储吞吐。
在流水线控制中,每个功能模块有144条指令分发路径,确保全芯片同步执行,大幅简化了节点间和片间的数据流控制复杂性。
Groq通过“Realscale™ Chip-to-Chip (C2C)”通信技术实现高效的芯片间分布式系统互连:
- 靠简化的数据包结构(例如320字节的矢量流,不需要复杂的硬件流控制和仲裁)来减少通信开销和延迟。
- 平滑的时间延迟计算模型(即单步跳跃流寄存器路径),可通过简单的减法操作确定事务传输时间,避免传统模型中的复杂模拟。
- C2C链接直接在多个TSP逻辑节点中共享全局分布式内存(SRAM存储),支持逻辑上共享的访问结构。
这些设计决策的优点是实现“静态负载平衡”的数据路由策略,确保在优化带宽和减少拥挤的情况下,依旧保持硬件的确定性表现。
在规模扩展方面,Groq使用低直径、高带宽的拓扑结构,如Dragonfly和Flattened Butterfly,以支持20k以上节点,通过“软件调度网络”进一步确保全局同步。为解决跨TSP引入的非确定性问题,增加了硬件对齐计数器(HAC)和软件对齐计数器(SAC),并通过ISA提供全局同步支持。
文档通过基准工作负载展示了Groq芯片的性能。例如:
- 通用矩阵乘法(GEMM):在矩阵/向量维度变化范围内保持稳定性能,其片上内存带宽和高度并行的SIMD单元在多个机器学习和深度学习模型上表现优异。
- 自然语言处理(NLP):针对BERT等模型,Groq芯片通过分层分布式计算(跨节点分布小批量计算)有效降低延迟,实现了“可预测吞吐量”的目标,适合低延迟的推理场景。
全芯片范围使用SECDED(单错误校正,双错误检测)算法保护所有SRAM和流寄存器,降低了因内存软错误(Soft Error Upset)而导致的系统中断。此外,每个TSP范围内设计了冗余节点和备用超级通道(Superlane),弥补制造工艺缺陷并增强整体系统可靠性。
Groq强调没有硬件层次的动态协调机制(如FSM或硬件一致性协议),所有假设和界限均以编译器和软件层面制定,减少了ASIC设计中的复杂性,使芯片行为更加易于预期。
Groq已在多个机器学习和高性能计算领域测试其架构,包括计算机视觉(如YOLO)、自然语言处理(如BERT)、线性方程求解(如Cholesky分解)和广义深度学习模型(如LSTM、Transformer)等,未来还计划支持更多复杂模型。
Groq提出了一种彻底的软件定义硬件设计思路,其TSP架构不仅在性能上媲美传统GPU系统(例如NVIDIA A100),并在中间张量规模的通信性能上具备显著优势。更重要的是,TSP实现了硬件设计的“确定性”目标,这对未来高性能计算和AI加速器的发展方向具有重要意义。
文档展现了从微架构到系统拓扑的整体设计哲学,提供了在机器学习、高性能计算等领域实现极低时延、高吞吐量和系统可扩展性的可行路径,同时展现了定制化设计在硬件/软件协同方面的巨大潜力。