ChatPaper.aiChatPaper

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.
PDF193July 30, 2025