Системный уровень, лежащий в основе современной инфраструктуры искусственного интеллекта, охватывает движки вывода, стеки обслуживания, драйверы и среды выполнения агентов, и он непрерывно перестраивается по мере эволюции моделей. Чтобы пресекать целые классы ошибок памяти на этапе компиляции без ущерба для скорости выполнения, системные инженеры постепенно внедряют Rust в критически важную инфраструктуру. NVIDIA интегрировалась в эту экосистему, создав ключевые компоненты на этом языке: драйвер Nova Linux написан на Rust, NVIDIA Dynamo построена вокруг ядра на Rust, а NVTX предоставляет нативные привязки для Rust.
Закрытие пробела в GPU-ядрах
До недавнего времени выполнение на GPU оставалось изолированным от сквозной безопасности памяти. Хотя хост-код мог запускать ядра из сред Rust, сами ядра по большей части были написаны на C++ или обернуты из внешних компонентов. NVIDIA объявила, что делает ставку на нативное программирование для GPU на Rust. CUDA Rust устраняет технический разрыв во всем стеке, позволяя разработчикам писать ядра GPU напрямую на Rust и компилировать их нативно в PTX.
CUDA Rust от NVIDIA устраняет этот пробел, позволяя писать ядра GPU на Rust и компилировать их нативно в PTX.
Хотя CUDA C++ и CUDA Python остаются зрелыми корпоративными инструментами, NVIDIA планирует развивать и совершенствовать CUDA Rust в течение 2027 года и далее. Архитектура предлагает два направления, повторяющие существующие парадигмы CUDA: традиционную модель SIMT и более новую модель программирования Tile.
Архитектура инструментов и развертывание на уровне предприятия
В рамках направления SIMT NVIDIA предоставляет cuda-oxide, который работает как настраиваемый бэкенд кодогенерации rustc. Компилятор перехватывает конвейер сборки, направляет функции с атрибутами ядер через Rust MIR, промежуточный фреймворк Pliron сообщества и LLVM IR в PTX, в то время как остальные рутинные задачи хоста передаются стандартному бэкенду. Аппаратные и программные требования для развертывания cuda-oxide включают Linux, GPU с вычислительной способностью 8.0 или выше, инструментарий CUDA версии 12.x или новее, clang с заголовочными файлами libclang и фиксированный ночной набор инструментов Rust.
Для корпоративных инженерных команд этот переход означает прагматичный уход от уязвимостей устаревшего C++ в высокопроизводительных стеках обслуживания. Устраняя ошибки безопасности памяти на этапе компиляции в ядрах GPU, организации могут существенно сократить неожиданные простои кластеров и снизить инженерные затраты на отладку низкоуровневых повреждений памяти без ущерба для производительности.