From Naive to Near-Peak: Building High-Performance GEMM Kernels with Gluon

· Source: AMD ROCm Blogs · Field: Technology & Digital — Artificial Intelligence & Machine Learning, Software Development & Engineering · Depth: Expert, long

Summary

AMD's Gluon GEMM kernel optimization tutorial details the process of building high-performance General Matrix Multiply (GEMM) kernels for AMD MI350/MI355 (gfx950, CDNA4) GPUs. The tutorial demonstrates a journey from a 520 TFLOPS naive FP16 baseline to a 1489 TFLOPS near-peak kernel, achieving 99% MFMA efficiency through ten versions. This methodology, which emphasizes explicit control over hardware aspects via Gluon, also extends to BF8 and MXFP4 low-precision AI workloads, yielding 3257 TFLOPS (99.72% MFMA efficiency) and 5255 TFLOPS (92.41% MFMA efficiency) respectively. Key optimization steps include using AMD buffer operations, asynchronous copies, eliminating LDS bank conflicts, implementing software pipelining with "llirSched", managing register pressure through slicing, and applying XCD-aware workgroup remapping. The MXFP4 kernel specifically introduces a "scale pipeline" pattern for quantized data.

Key takeaway

For ML compiler engineers and kernel developers optimizing AI inference on AMD MI350/MI355 GPUs, you should adopt Gluon's explicit, profiling-driven methodology. This approach allows you to systematically identify and resolve bottlenecks, from LDS bank conflicts to register pressure and L2 locality. By applying techniques like software pipelining and register slicing, you can achieve near-peak MFMA efficiency and significantly boost TFLOPS for your compute-bound kernels.

Key insights

Achieving near-peak GPU kernel performance requires explicit hardware control and a profiling-driven, iterative optimization methodology.

Principles

Method

Optimize kernels iteratively by identifying bottlenecks using detailed profiling (MFMA efficiency, VGPRs, spills), then applying techniques like software pipelining, register slicing, and architecture-specific remapping.

In practice

Topics

Code references

Best for: Machine Learning Engineer, AI Hardware Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by AMD ROCm Blogs.