Posts by Lixun Zhang
Two Waves, One Stage Apart: Warp-Pipelining Triton GEMMs on AMD Instinct
- 27 October 2026
A tiled general matrix multiplication (GEMM) computes on one pair of operand tiles while preparing the next. On a compute-bound shape, keeping the matrix units busy depends on how well those activities overlap. A common failure mode is that resident waves reach synchronization points in phase: both prepare data or wait, and neither has matrix work ready to issue. Extra buffering creates room for future tiles, but does not by itself establish the execution timing needed to hide that preparation.
A Deep Dive into LDS Optimizations on AMD Instinct MI450 GPUs
- 28 August 2026
The first two authors (Plavsic, Zaghen) contributed equally to this work.
Attention Decode on AMD MI450 GPUs: A Gluon Kernel Optimization Guide
- 27 July 2026
Agentic AI applications are pushing LLM inference into a new regime. A request can now reach one million tokens from aggregated long prompts, tool calls, retrieval results, and multi-turn reasoning. During the text generation phase, each new token must attend to all previous tokens from the KV cache, so the kernel needs to repeatedly read past states from HBM. As a result, the performance bottleneck shifts from compute units to the memory system.
From Naive to Near-Peak: Building High-Performance GEMM Kernels with Gluon
- 22 May 2026
On a single MI355, our most-optimized FP16 GEMM kernel runs at 99% MFMA efficiency — the matrix engine sits idle for a handful of cycles per loop. Getting there took ten versions, a regression along the way, and a profiler open for the whole time. This post is a tour of that path: from a 520 TFLOPS naive baseline to a 1489 TFLOPS near-peak kernel (~3× speedup), then the same design carried forward to BF8 (3257 TFLOPS, 99.72%) and MXFP4 (5255 TFLOPS, 92.41%) for low-precision AI workloads.