NVIDIA объявила о развитии CUDA Rust, инструментария для разработки…

NVIDIA объявила о развитии CUDA Rust, инструментария для разработки GPU-ядер на Rust. Главная фишка в безопасности работы с памятью на этапе компиляции и никаких состояний гонки. До уровня CUDA C++ и CUDA Python обещают довести в следующем году.

Поддерживаются две модели параллельных ядер - SIMT и Tile. SIMT позволяет на низком уровне управлять отдельными потоками, запуская тысячи одновременно. Tile - более высокий уровень абстракции: вы описываете алгоритм работы с блоками данных, а компилятор Tile IR сам разбирается с потоками, синхронизацией, памятью и распределением по тензорным ядрам.

Для SIMT развивается компилятор cuda-oxide, который компилирует Rust напрямую в инструкции CUDA PTX, используя штатную систему типов и модель владения. Ядра пишутся на обычном Rust, но выполняются в окружении no_std — только libcore и специализированные абстракции, без libstd. Можно использовать safe-код, блоки unsafe и низкоуровневые инструкции. Для безопасности есть тип DisjointSlice, гарантирующий каждому потоку эксклюзивный доступ только к своим данным. Лицензия — Apache 2.0.

Для модели Tile есть библиотека cutile-rs — идиоматический Rust, компилируемый напрямую в CUDA-ядра. Строгие правила владения и заимствования применяются к коду на GPU: ядро оформляется как однопоточная программа, а компилятор сам разбивает вычисления на потоки и синхронизирует их. Потоки получают совместный доступ к неизменяемым тензорам, а изменяемые тензоры разделяются на непересекающиеся блоки. Тоже Apache 2.0.

@linux0ids
Просмотры: 984
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти