CLAIAROct 31, 2024

Kernel Looping: Eliminating Synchronization Boundaries for Peak Inference Performance

arXiv:2410.23668v12 citationsh-index: 13Has Code
Originality Incremental advance
AI Analysis

This addresses a critical bottleneck in AI inference performance for applications requiring fast token generation, though it appears incremental as it builds on existing dataflow architectures.

The paper tackles the problem of GPU underperformance during token generation due to synchronization overheads at kernel boundaries, which reduces memory bandwidth utilization to 21%. It introduces kernel looping, a global optimization technique that eliminates these synchronization costs by transforming repeated kernel calls into a single pipelined loop, achieving speedups of up to 2.2× on a dataflow accelerator and scaling to 3.7× over competing hardware.

Token generation speed is critical to power the next wave of AI inference applications. GPUs significantly underperform during token generation due to synchronization overheads at kernel boundaries, utilizing only 21% of their peak memory bandwidth. While recent dataflow architectures mitigate these overheads by enabling aggressive fusion of decoder layers into a single kernel, they too leave performance on the table due to synchronization penalties at layer boundaries. This paper presents kernel looping, a specialized global optimization technique which exploits an optimization opportunity brought by combining the unique layer-level fusion possible in modern dataflow architectures with the repeated layer structure found in language models. Kernel looping eliminates synchronization costs between consecutive calls to the same kernel by transforming these calls into a single call to a modified kernel containing a pipelined outer loop. We evaluate kernel looping on the SambaNova SN40L Reconfigurable Dataflow Unit (RDU), a commercial dataflow accelerator for AI. Experiments demonstrate that kernel looping speeds up the decode phase of a wide array of powerful open-source models by up to 2.2$\times$ on SN40L. Kernel looping allows scaling of decode performance over multiple SN40L sockets, achieving speedups of up to 2.5$\times$. Finally, kernel looping enables SN40L to achieve over 90% of peak performance on 8 and 16 sockets and achieve a speedup of up to 3.7$\times$ over DGX H100. Kernel looping, as well as the models evaluated in this paper, are deployed in production in a commercial AI inference cloud.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes