Beyond GEMM-Centric NPUs: Enabling Efficient Diffusion LLM Sampling
Binglei Lou, Haoran Wu, Yao Lai, Jiayi Nie, Can Xiao, Xuan Guo, Rika Antonova, Robert Mullins, Aaron Zhao
TL;DR
This work identifies diffusion LLM sampling as a distinct, memory-bound workload that becomes a bottleneck even as model-phase latency improves. It introduces d-PLENA, a vector-scalar NPU extension with a decoupled mixed-precision memory hierarchy and hardware primitives tailored to non-GEMM sampling tasks, plus ISA extensions for fast ArgMax, Top-$k$, and masked updates. Through cycle-accurate simulation and RTL verification, it demonstrates up to $2.53\times$ speedup over an RTX A6000 on diffusion-sampling workloads and provides a co-design framework linking PyTorch configurations to hardware execution. The results highlight architectural patterns that can be generalized to diffusion-based inference and pave the way for niche NPUs optimized for reduction-heavy, memory-irregular workloads in diffusion LLMs.
Abstract
Diffusion Large Language Models (dLLMs) introduce iterative denoising to enable parallel token generation, but their sampling phase displays fundamentally different characteristics compared to GEMM-centric transformer layers. Profiling on modern GPUs reveals that sampling can account for up to 70% of total model inference latency-primarily due to substantial memory loads and writes from vocabulary-wide logits, reduction-based token selection, and iterative masked updates. These processes demand large on-chip SRAM and involve irregular memory accesses that conventional NPUs struggle to handle efficiently. To address this, we identify a set of critical instructions that an NPU architecture must specifically optimize for dLLM sampling. Our design employs lightweight non-GEMM vector primitives, in-place memory reuse strategies, and a decoupled mixed-precision memory hierarchy. Together, these optimizations deliver up to a 2.53x speedup over the NVIDIA RTX A6000 GPU under an equivalent nm technology node. We also open-source our cycle-accurate simulation and post-synthesis RTL verification code, confirming functional equivalence with current dLLM PyTorch implementations.
