Share your thoughts, 1 month free Claude Pro on usSee more
WorkDL logo mark

Kevin: Multi-Turn RL for Generating CUDA Kernels

About

Writing GPU kernels is a challenging task and critical for AI systems' efficiency. It is also highly iterative: domain experts write code and improve performance through execution feedback. Moreover, it presents verifiable rewards like correctness and speedup, making it a natural environment to apply Reinforcement Learning (RL). To explicitly incorporate the iterative nature of this process into training, we develop a flexible multi-turn RL recipe that addresses unique challenges encountered in real-world settings, such as learning from long trajectories and effective reward attribution across turns. We present Kevin - K(ernel D)evin, the first model trained with multi-turn RL for CUDA kernel generation and optimization. In our evaluation setup, Kevin shows significant gains over its base model (QwQ-32B), improving correctness of generated kernels (in pure CUDA) from 56% to 82% and mean speedup from 0.53x to 1.10x of baseline (PyTorch Eager), and surpassing frontier models like o4-mini (0.78x). Finally, we study its behavior across test-time scaling axes: we found scaling serial refinement more beneficial than parallel sampling. In particular, when given more refinement turns, Kevin shows a higher rate of improvement.

Carlo Baronio, Pietro Marsella, Ben Pan, Simon Guo, Silas Alberti• 2025

Related benchmarks

TaskDatasetResultRank
GPU kernel code generation and optimizationKernelBench Level 3 (test)
Correctness Score40
18
GPU kernel code generation and optimizationKernelBench Level 2 (test)
Correctness11
18
GPU kernel code generation and optimizationKernelBench Level 1 (test)
Correctness9
18
Kernel GenerationKernelBench--
14
GPU Kernel OptimizationKernelBench Level 1
Fast1 Performance Score0.16
7
GPU Kernel OptimizationKernelBench Level 2
Performance Score 10.61
7
GPU Kernel OptimizationKernelBench Level 3
Fast12
7
GPU Kernel OptimizationKernelBench H200 hardware
Correctness best@1656
3
Showing 8 of 8 rows

Other info

Follow for update