Новая модель программирования CUDA Tile в CUDA 13.1 — Upgrade

Новая модель программирования CUDA Tile в CUDA 13.1 4 часа назад 6 декабря 2025 в 21:02 1843 Компания NVIDIA представила новый компонент под названием CUDA Tile в составе платформы CUDA версии 13.1. Эта технология вводит виртуальный набор инструкций для тайлового параллельного программирования, который работает на более высоком уровне абстракции, чем традиционная модель SIMT. Основная цель нововведения — упростить разработку алгоритмов и абстрагировать их от особенностей специализированного аппаратного обеспечения, такого как тензорные ядра. Тайловое программирование позволяет разработчикам описывать алгоритмы, оперируя блоками данных, или тайлами, и задавать вычисления над этими блоками. Программисту не нужно определять, как именно выполняется алгоритм на уровне отдельных элементов. Эти детали берет на себя компилятор и среда выполнения. Такой подход характерен для языков вроде Python, где библиотеки, например NumPy, дают возможность работать с матрицами и выполнять над ними групповые операции простым кодом, в то время как низкоуровневая оптимизация происходит незаметно для пользователя. Фундаментом для тайлового программирования служит промежуточное представление CUDA Tile IR. Это представление вводит виртуальный набор инструкций, который позволяет программировать аппаратное обеспечение на уровне операций с тайлами. Разработчики могут писать код высокого уровня, который затем эффективно выполняется на разных поколениях графических процессоров с минимальными изменениями. Если промежуточное представление PTX обеспечивает переносимость программ для модели SIMT, то CUDA Tile IR расширяет платформу CUDA, добавляя нативную поддержку тайловых программ. Программист концентрируется на разделении данных на тайлы и блоки тайлов, а система CUDA Tile IR сама распределяет задачи по аппаратным ресурсам: потокам, иерархии памяти и тензорным ядрам. Повышение уровня абстракции с помощью CUDA Tile IR позволяет создавать компиляторы, фреймворки и предметно-ориентированные языки, которые специфичны для аппаратного обеспечения NVIDIA. Для программирования на основе тайлов CUDA Tile IR выполняет ту же роль, что PTX для программирования по модели SIMT. Важно понимать, что это не взаимоисключающие подходы. Тайловое программирование для графических процессоров является дополнительным методом, который сосуществует с классической моделью SIMT. Когда разработчику нужен детальный контроль SIMT, он пишет ядра обычным способом. Когда есть желание задействовать тензорные ядра, можно использовать тайловые ядра. Подавляющее большинство программистов не будет взаимодействовать с уровнем CUDA Tile IR напрямую. Этот слой находится ниже точки их основного интерфейса. Для работы с тайловым программированием большинству разработчиков предлагается использовать программное обеспечение NVIDIA cuTile Python. Это реализация Python от NVIDIA, которая использует CUDA Tile IR в качестве бэкенда. Для тех, кто создает собственные компиляторы предметно-ориентированных языков или библиотеки, CUDA Tile IR станет основным интерфейсом для взаимодействия с технологией. Если инструмент, компилятор или библиотека в настоящее время работают с PTX, их можно адаптировать для поддержки и CUDA Tile IR. Представление CUDA Tile состоялось в рамках выпуска CUDA 13.1. Вся информация, включая ссылки на документацию, репозитории GitHub и примеры кода, доступна на специальной странице, посвященной CUDA Tile. Это обновление называют самым значительным с момента создания платформы CUDA в 2006 году. Традиционная модель SIMT требует от программиста демонстрировать детальный контроль над выполнением кода, что обеспечивает гибкость, но также может требовать значительных усилий для достижения высокой производительности, особенно на нескольких архитектурах графических процессоров. С эволюцией вычислительных задач, особенно в области искусственного интеллекта, тензоры стали фундаментальным типом данных. NVIDIA разработала специализированное аппаратное обеспечение для работы с тензорами, такое как тензорные ядра и ускорители тензорной памяти, которые теперь являются неотъемлемой частью каждой новой архитектуры графических процессоров компании. По мере усложнения аппаратного обеспечения растет потребность в программном обеспечении, которое поможет использовать эти возможности. CUDA Tile абстрагирует тензорные ядра и их модели программирования, поэтому код, использующий эту технологию, остается совместимым с текущими и будущими архитектурами тензорных ядер. Source: https://upweek.ru/novaya-model-programmirovaniya-cuda-tile-v-cuda-13-1