CUDA-L1: Mejora de la optimización de CUDA mediante aprendizaje por refuerzo contrastivo
CUDA-L1: Improving CUDA Optimization via Contrastive Reinforcement Learning
July 18, 2025
Autores: Xiaoya Li, Xiaofei Sun, Albert Wang, Jiwei Li, Chris Shum
cs.AI
Resumen
El crecimiento exponencial en la demanda de recursos de computación GPU, impulsado por el rápido avance de los Modelos de Lenguaje a Gran Escala (LLMs), ha creado una necesidad urgente de estrategias automatizadas de optimización CUDA. Si bien los avances recientes en LLMs muestran potencial para la generación de código, los modelos actuales de última generación (por ejemplo, R1, o1) logran tasas de éxito bajas en la mejora de la velocidad CUDA. En este artículo, presentamos CUDA-L1, un marco de aprendizaje por refuerzo automatizado para la optimización CUDA.
CUDA-L1 logra mejoras de rendimiento en la tarea de optimización CUDA: entrenado en NVIDIA A100, ofrece una aceleración promedio de x17.7 en los 250 núcleos CUDA de KernelBench, con picos de aceleración que alcanzan x449. Además, el modelo también demuestra una excelente portabilidad entre arquitecturas GPU, logrando aceleraciones promedio de x17.8 en H100, x19.0 en RTX 3090, x16.5 en L40, x14.7 en H800 y x13.9 en H20, a pesar de estar optimizado específicamente para A100. Más allá de estos resultados de referencia, CUDA-L1 muestra varias propiedades destacables: 1) Descubre una variedad de técnicas de optimización CUDA y aprende a combinarlas estratégicamente para lograr un rendimiento óptimo; 2) Revela principios fundamentales de la optimización CUDA; 3) Identifica cuellos de botella de rendimiento no evidentes y rechaza optimizaciones aparentemente beneficiosas que perjudican el rendimiento.
Las capacidades de CUDA-L1 demuestran que el aprendizaje por refuerzo puede transformar un LLM inicialmente de bajo rendimiento en un optimizador CUDA efectivo únicamente mediante señales de recompensa basadas en la aceleración, sin necesidad de experiencia humana o conocimiento del dominio. Más importante aún, el modelo de RL entrenado extiende las habilidades de razonamiento adquiridas a nuevos núcleos. Este paradigma abre posibilidades para la optimización automatizada de operaciones CUDA y promete mejorar sustancialmente la eficiencia de las GPU, aliviando la creciente presión sobre los recursos de computación GPU.
English
The exponential growth in demand for GPU computing resources, driven by the
rapid advancement of Large Language Models, has created an urgent need for
automated CUDA optimization strategies. While recent advances in LLMs show
promise for code generation, current SOTA models (e.g. R1, o1) achieve low
success rates in improving CUDA speed. In this paper, we introduce CUDA-L1, an
automated reinforcement learning framework for CUDA optimization.
CUDA-L1 achieves performance improvements on the CUDA optimization task:
trained on NVIDIA A100, it delivers an average speedup of x17.7 across all 250
CUDA kernels of KernelBench, with peak speedups reaching x449. Furthermore, the
model also demonstrates excellent portability across GPU architectures,
achieving average speedups of x17.8 on H100, x19.0 on RTX 3090, x16.5 on L40,
x14.7 on H800, and x13.9 on H20 despite being optimized specifically for A100.
Beyond these benchmark results, CUDA-L1 demonstrates several remarkable
properties: 1) Discovers a variety of CUDA optimization techniques and learns
to combine them strategically to achieve optimal performance; 2) Uncovers
fundamental principles of CUDA optimization; 3) Identifies non-obvious
performance bottlenecks and rejects seemingly beneficial optimizations that
harm performance.
The capabilities of CUDA-L1 demonstrate that reinforcement learning can
transform an initially poor-performing LLM into an effective CUDA optimizer
through speedup-based reward signals alone, without human expertise or domain
knowledge. More importantly, the trained RL model extend the acquired reasoning
abilities to new kernels. This paradigm opens possibilities for automated
optimization of CUDA operations, and holds promise to substantially promote GPU
efficiency and alleviate the rising pressure on GPU computing resources.