Открытый исходный код CUDA Tile от Nvidia

Компания Nvidia сделала важный шаг, отказавшись от проприетарной лицензии на промежуточное представление CUDA Tile и выпустив его как проект с открытым исходным кодом. Это объявление прозвучало в контексте выхода новой версии CUDA 13.1, которую разработчики назвали «самым значительным обновлением платформы за последние два десятилетия».

Промежуточное представление CUDA Tile, основанное на MLIR (многоуровневом промежуточном представлении), открывает возможности совместимости с другими средами, не ограничиваясь только Nvidia. Например, AMD, Google и Intel уже используют MLIR для своих решений в области ИИ и вычислений.

В проекте CUDA Tile IR реализован диалект Tile MLIR, а также API привязки для Python, представление байт-кода и тесты на соответствие. Nvidia подчеркивает, что этот проект предоставляет мощную экосистему для оптимизации вычислений на графических процессорах Nvidia, что упрощает разработку высокопроизводительных ядер CUDA. Исходный код доступен под лицензией Apache 2.0. Кроме того, в начале года разработчики Rust GPU анонсировали перезапуск проекта Rust CUDA, который позволяет работать с ядрами CUDA на Rust.

Вопрос-ответ

Что такое CUDA Tile и какое ключевое изменение с ним произошло?

CUDA Tile — это промежуточное представление от Nvidia для вычислений на GPU. Ключевое изменение заключается в том, что компания отказалась от проприетарной лицензии и выпустила его как проект с открытым исходным кодом под лицензией Apache 2.0.

На какой технологии основан CUDA Tile и что это дает?

Проект основан на MLIR (многоуровневом промежуточном представлении). Это открывает возможности для совместимости с другими вычислительными средами, так как такие компании, как AMD, Google и Intel, уже используют MLIR для своих решений в области ИИ.

Какие преимущества получает разработчик от открытого исходного кода CUDA Tile?

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