Decoding in Tiles: A Static Megakernel for Llama 3.2 1B on an RTX 3050
How close can one statically scheduled persistent kernel get to the memory-bandwidth floor of batch-one decode on a small GPU? This post explains where that floor comes from for Llama 3.2 1B on an 8 GB RTX 3050, how a token is cut into tiles and waves, where the remaining time goes, and how the result compares with PyTorch and llama.cpp.
- CUDA
- GPU programming
- megakernels