CUDA-L1: Улучшение оптимизации CUDA с помощью контрастного обучения с подкреплением
CUDA-L1: Improving CUDA Optimization via Contrastive Reinforcement Learning
July 18, 2025
Авторы: Xiaoya Li, Xiaofei Sun, Albert Wang, Jiwei Li, Chris Shum
cs.AI
Аннотация
Экспоненциальный рост спроса на вычислительные ресурсы GPU, обусловленный стремительным развитием крупных языковых моделей (LLM), создал острую необходимость в автоматизированных стратегиях оптимизации CUDA. Хотя последние достижения в области LLM демонстрируют потенциал для генерации кода, современные модели (например, R1, o1) показывают низкую успешность в улучшении скорости CUDA. В данной статье мы представляем CUDA-L1 — автоматизированную систему оптимизации CUDA на основе обучения с подкреплением.
CUDA-L1 демонстрирует значительное улучшение производительности в задачах оптимизации CUDA: обученная на NVIDIA A100, она обеспечивает среднее ускорение в 17,7 раз для всех 250 ядер CUDA из KernelBench, с пиковыми значениями до 449 раз. Кроме того, модель также показывает отличную переносимость между архитектурами GPU, достигая среднего ускорения в 17,8 раз на H100, 19,0 раз на RTX 3090, 16,5 раз на L40, 14,7 раз на H800 и 13,9 раз на H20, несмотря на оптимизацию, специфичную для A100.
Помимо этих результатов, CUDA-L1 демонстрирует несколько примечательных свойств: 1) Открывает разнообразные техники оптимизации CUDA и учится стратегически комбинировать их для достижения оптимальной производительности; 2) Выявляет фундаментальные принципы оптимизации CUDA; 3) Обнаруживает неочевидные узкие места производительности и отвергает кажущиеся полезными оптимизации, которые ухудшают производительность.
Возможности CUDA-L1 показывают, что обучение с подкреплением может превратить изначально слабую LLM в эффективный оптимизатор CUDA исключительно за счет сигналов вознаграждения, основанных на ускорении, без участия экспертов или знаний предметной области. Более того, обученная модель RL распространяет приобретенные способности рассуждения на новые ядра. Этот подход открывает возможности для автоматизированной оптимизации операций CUDA и обещает существенно повысить эффективность 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.