Исследователи из команды DeepReinforce анонсировали новую систему CUDA L2, способную автоматически генерировать код для матричного умножения на GPU. Результаты показывают, что ядра, созданные с помощью CUDA L2, обеспечивают производительность на 10–30% выше, чем у вручную оптимизированных библиотек cuBLAS и cuBLASLt от NVIDIA, что привлекло внимание специалистов отрасли.
Система использует уникальную комбинацию большой языковой модели и обучения с подкреплением для создания CUDA ядер, которые адаптируются под конкретные размеры матриц. Такой подход позволяет обойти традиционные шаблоны и улучшить ключевые аспекты оптимизации, включая тайлинг и структуру циклов.
Тестирование показало, что CUDA L2 в среднем на 17–22% быстрее, чем torch.matmul и другие решения, а в условиях сервера ускорение достигло 24–29%. Авторы уже поделились оптимизированными A100 ядрами для множества конфигураций и планируют расширить метод на другие архитектуры. CUDA L2 может установить новый стандарт в области оптимизации производительности с использованием языковых моделей.
Вопрос-ответ
Что такое CUDA L2?
CUDA L2 — это система, разработанная командой DeepReinforce, которая автоматически генерирует высокопроизводительный код (ядра) для операций матричного умножения на графических процессорах (GPU), используя комбинацию большой языковой модели и обучения с подкреплением.
За счет чего CUDA L2 превосходит оптимизированные библиотеки NVIDIA?
Система достигает более высокой производительности благодаря способности адаптировать генерируемые CUDA ядра под конкретные размеры матриц. Это позволяет ей обходить традиционные шаблоны оптимизации и улучшать ключевые аспекты, такие как тайлинг и структура циклов, что приводит к более эффективному использованию ресурсов GPU.
Насколько CUDA L2 быстрее существующих решений?
Сгенерированные CUDA L2 ядра показывают производительность на 10–30% выше, чем у библиотек cuBLAS и cuBLASLt от NVIDIA. В среднем система на 17–22% быстрее, чем torch.matmul, а в серверных условиях это ускорение достигает 24–29%.


