Loading market data...

NVIDIA CUDA 13.3 добавляет тайловое программирование GPU на C++

NVIDIA CUDA 13.3 добавляет тайловое программирование GPU на C++

NVIDIA выпустила CUDA 13.3 — версию, которая вводит тайловое программирование GPU непосредственно на C++. Обновление направлено на более эффективное использование тензорных ядер, одновременно снижая сложность написания ядер.

Как работает тайловое программирование

Тайловое программирование разбивает вычисления на небольшие блоки фиксированного размера, называемые тайлами. Эти тайлы соответствуют внутренним шаблонам потоков данных GPU, что упрощает поддержание загрузки оборудования. В более ранних версиях CUDA разработчикам приходилось управлять этим сопоставлением самостоятельно. Теперь компилятор берет это на себя, по крайней мере для многих распространенных шаблонов.

Тензорные ядра — это специализированное оборудование внутри GPU NVIDIA, ускоряющее операции умножения матриц с накоплением. Они играют ключевую роль в обучении и инференсе ИИ. Однако для достижения пиковой производительности часто требовалась тонкая ручная настройка. Абстракция тайлов в CUDA 13.3 автоматически разбивает матричные операции на тайлы, чтобы они чаще задействовали тензорные ядра. Разработчики пишут более простой код и при этом получают хорошую пропускную способность.

Разработка ядер упрощается

Одна из самых больших проблем в программировании GPU — управление потоками, разделяемой памятью и синхронизацией. Новая тайловая модель абстрагирует эти детали. Вместо написания ядра, порождающего тысячи потоков и координирующего их доступ к разделяемой памяти, программист может выразить вычисления как операции над тайлами. Компилятор CUDA затем отображает эти тайлы на базовое оборудование. Это должно уменьшить количество ошибок и ускорить разработку, особенно для команд, новичков в области GPU-вычислений.

Доступность

CUDA 13.3 доступна для загрузки с сайта разработчиков NVIDIA. Она поддерживает все текущие архитектуры GPU NVIDIA, включая линейки Hopper и Blackwell. Разработчики могут начать экспериментировать с тайловым API немедленно.

Обновление не упраздняет старые подходы, но задает новый путь по умолчанию для написания эффективного кода для GPU. Насколько быстро сообщество примет его, будет зависеть от того, насколько хорошо компилятор будет отображать тайловые операции на реальное оборудование — и будет ли производительность соответствовать вручную настроенным ядрам в критически важных задачах.