CUDA-L1: Miglioramento dell'ottimizzazione CUDA tramite Apprendimento per Rinforzo Contrastivo
CUDA-L1: Improving CUDA Optimization via Contrastive Reinforcement Learning
July 18, 2025
Autori: Xiaoya Li, Xiaofei Sun, Albert Wang, Jiwei Li, Chris Shum
cs.AI
Abstract
La crescita esponenziale della domanda di risorse di calcolo GPU, trainata dal rapido avanzamento dei Modelli Linguistici di Grande Dimensione (LLM), ha creato un'urgente necessità di strategie automatizzate di ottimizzazione CUDA. Sebbene i recenti progressi negli LLM mostrino potenziale per la generazione di codice, i modelli SOTA attuali (ad esempio R1, o1) raggiungono bassi tassi di successo nel migliorare la velocità CUDA. In questo articolo, introduciamo CUDA-L1, un framework di apprendimento per rinforzo automatizzato per l'ottimizzazione CUDA.
CUDA-L1 ottiene miglioramenti prestazionali nel compito di ottimizzazione CUDA: addestrato su NVIDIA A100, fornisce un'accelerazione media di x17,7 su tutti i 250 kernel CUDA di KernelBench, con picchi di accelerazione che raggiungono x449. Inoltre, il modello dimostra anche un'eccellente portabilità tra le architetture GPU, ottenendo accelerazioni medie di x17,8 su H100, x19,0 su RTX 3090, x16,5 su L40, x14,7 su H800 e x13,9 su H20 nonostante sia stato ottimizzato specificamente per A100. Oltre a questi risultati di benchmark, CUDA-L1 dimostra diverse proprietà notevoli: 1) Scopre una varietà di tecniche di ottimizzazione CUDA e impara a combinarle strategicamente per ottenere prestazioni ottimali; 2) Rivela principi fondamentali dell'ottimizzazione CUDA; 3) Identifica colli di bottiglia prestazionali non ovvi e rifiuta ottimizzazioni apparentemente vantaggiose che danneggiano le prestazioni.
Le capacità di CUDA-L1 dimostrano che l'apprendimento per rinforzo può trasformare un LLM inizialmente poco performante in un efficace ottimizzatore CUDA attraverso segnali di ricompensa basati sull'accelerazione, senza l'intervento di esperti umani o conoscenze di dominio. Ancora più importante, il modello RL addestrato estende le capacità di ragionamento acquisite a nuovi kernel. Questo paradigma apre possibilità per l'ottimizzazione automatizzata delle operazioni CUDA e promette di promuovere sostanzialmente l'efficienza delle GPU e alleviare la crescente pressione sulle risorse di calcolo 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.