Nvidia открыла исходный код проекта CUDA Tile IR Обложка: Skyread

Nvidia открыла исходный код проекта CUDA Tile IR

Новости
Главное:

  • NVIDIA опубликовала в открытом доступе исходный код промежуточного представления CUDA Tile IR.
  • CUDA Tile IR основано на MLIR и позволяет оптимизировать вычисления для тензорных ядер Nvidia.
  • Проект распространяется под лицензией Apache 2.0 и может способствовать совместимости с другими аппаратными платформами.

Компания NVIDIA сделала важный шаг в направлении открытых технологий, разместив на GitHub исходный код промежуточного представления CUDA Tile IR. Ранее это программное обеспечение было доступно лишь по проприетарной лицензии. Выпуск открыт в рамках версии CUDA 13.1, которую производитель объявил одним из крупнейших обновлений платформы за двадцать лет существования.

CUDA Tile IR построено на базе MLIR — многоуровневого промежуточного представления, разработанного в сообществе для унификации и оптимизации программных вычислительных моделей. Применение MLIR позволяет обеспечить гибкость и расширяемость, что важно для взаимодействия с вычислительными средами и аппаратурой от других производителей, таких как AMD, Intel или Google.

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

Публикация кода под лицензией Apache 2.0 сигнализирует об открытости платформы и усиливает потенциал интеграции с существующими фреймворками на базе MLIR, такими как ONNX-MLIR или Torch-MLIR. В перспективе это может привести к улучшенной совместимости и ускорению разработки ПО не только под видеокарты Nvidia, но и под другие вычислительные ускорители.

В комплект проекта входят диалект Tile MLIR, API-связки для Python, байт-кодовое представление и набор тестов для проверки соответствия. Открытый доступ позволит сообществу и сторонним разработчикам вносить свой вклад, а также интегрировать CUDA Tile IR в собственные решения.

Стоит отметить, что развитие экосистемы GPU-программирования продолжается и в других направлениях. Например, проект Rust CUDA, ориентированный на использование возможностей CUDA в языке Rust, недавно перезапустили, расширяя возможности работы с NVVM IR на устройствах Nvidia.

Tagged