NVIDIA过去五年推出的Ampere、Hopper和Blackwell三代GPU架构,在计算性能、内存带宽和AI加速方面实现了显著提升。深入探讨这些架构的关键技术创新,特别是编程模型的演进,有助于理解高性能计算的发展方向。
智能速览
Ampere架构引入异步数据传输,实现内存操作与计算的overlap
Hopper架构推出持久内核技术,降低CTA launch开销
Blackwell架构实现三阶段流水线,优化tensor memory使用
三代架构在LLM部署性能上实现显著提升
编程模型从串行执行向软件流水线演进
精华内容
深入了解这三代GPU架构的技术创新,可以揭示高性能计算编程模型的演进路径,以及如何通过硬件架构优化来提升计算效率。
Ampere创新
Ampere架构于2020年5月发布,最大的突破是引入了异步数据传输指令(cp.async)。在此之前,内存操作指令和计算指令在同一个执行流水线上,内存操作会阻塞计算,导致几乎是串行的执行模式。
借助cp.async指令,线程可以发出内存拷贝指令并立即继续执行下一个任务,将内存传输延迟隐藏在MMA操作之后。这使得在单个CTA中实现数据加载与计算的overlap成为可能,不再需要依赖多个CTA的并行来隐藏延迟。
这种创新虽然解决了内存与计算的overlap问题,但也带来了CTA launch overhead的新挑战。
Hopper突破
Hopper架构在2022年第三季度推出,引入了持久内核这一新的开发范式。Persistent Kernel允许CTA驻留在SM上并处理多个tile而无需返回host CPU,从而消除了kernel launch的开销。
这种技术实现了一个work tile的输出与下一个work tile的加载之间的overlap,进一步提高了执行效率。Hopper架构特别适合LLM等计算密集型任务,至今仍被广泛使用。
然而,Hopper架构也面临WGMMA consumers使用大量寄存器的问题,以及tensor core与ALU之间的资源竞争,这些都是需要权衡的技术挑战。
Blackwell优化
作为最新的架构,Blackwell引入了tcgen05指令,MMA的运算结果存储在新的专用硬件tensor memory中。这一设计打破了WGMMA对寄存器的依赖,使得利用更多流水线技术成为可能。
Blackwell实现了三阶段流水线:第N个tile进行计算,第N+1个tile加载数据,第N-1个tile写回数据。这三个阶段可以在不同的内存区域同时运行,形成高效的软件流水线。
这种设计进一步优化了资源利用率和计算效率,但tensor memory只支持非常有限的指令,这也是当前的技术限制。
从Ampere的异步传输到Hopper的持久内核,再到Blackwell的三阶段流水线,NVIDIA的GPU架构演进体现了对计算效率的不断追求。这些技术创新不仅提升了硬件性能,更重要的是改变了编程模型,让开发者能够更好地利用硬件资源。未来,随着AI计算需求的持续增长,GPU架构还将如何演进?