Ping Pong GEMM from Scratch
March 18, 2025
Needless text
March 18, 2025
March 16, 2025
Nathan Lambert of the Allen Institute writes abouttheir (very strong) Olmo 2 32B release, and the just released Gemma 3 model from Google. One of the many interesting points:
March 14, 2025
Jerry Zhang recently posted a coupleof updates on the evolution of the quantization APIs in PyTorch, and the unification around TorchAO.
March 10, 2025
March 4, 2025
February 26, 2025
The GPU Mode discord has emerged as the preeminent hub for current and aspiring GPU kernel hackers, and several of the folks there have kicked off a project to help make it easier for folks to write and benchmark them. https://gpu-mode.github.io/discord-cluster-manager/docs/intro/ goes over the idea, but it’s a series of leaderboards and runners for different kernel types so you can easily find (and beat!) the state of the art:
February 25, 2025
February 23, 2025
February 18, 2025
Who needs a tokenizer anyway!
February 16, 2025
In general, branching in GPU code is considered bad. When you write a kernel, it’s very easy to write the same kind of logic as you would on a CPU. However, GPU kernels execute on blocks of threads scheduled on streaming multiprocessors (SMs), and they are optimized for vectorized (or parallel) computation. This optimization relies on the idea that large groups of threads can execute the same instructions on different data in a lockstep fashion. Practically, these are scheduled as “warps” of 32 threads at a time (on Nvidia, the equivalent in AMD is 64 threads).