HeadlinesBriefing favicon HeadlinesBriefing.com

CUDA Rust: два пути для ядер GPU

Hacker News •
×

В сентябре 2026 года NVIDIA объявила, что делает ставку на нативное программирование GPU на Rust. CUDA C++ и CUDA Python — это зрелые инструментальные цепочки корпоративного уровня, и NVIDIA будет развивать и совершенствовать CUDA Rust до 2027 года и далее. Системный уровень ИИ охватывает движки вывода, инфраструктуру обслуживания, драйверы и среды выполнения агентов, и он постоянно меняется. Всё большая его часть пишется на Rust. NVIDIA является частью этого сдвига. Драйвер Nova Linux написан на Rust. NVIDIA Dynamo построен на ядре на Rust. У NVTX есть привязки для Rust.

Ядро GPU — исключение. Вы можете запускать ядра из Rust, но само ядро часто приходится писать на другом языке. NVIDIA CUDA Rust закрывает этот разрыв. Ядра GPU можно писать на Rust и нативно компилировать в PTX, а не использовать обёртку вокруг кода откуда-то ещё.

Есть два пути использования Rust, соответствующие двум путям, которые есть у самого CUDA. SIMT — это модель, которую вы уже пишете в CUDA C++ или numba-cuda. Tile — более новая модель программирования, также доступная в C++ и Python. Когда вы выбираете, на чём строить, сначала обратитесь к Tile. Компилятор решает, как тайлы отображаются на каждую архитектуру, поэтому ваш исходный код не кодирует архитектурно-специфичные решения, и вы спускаетесь к SIMT, когда вам нужен этот контроль.

Ниже приведено одно и то же ядро на каждом пути, которое выполняет поэлементное сложение над 1 024 числами с плавающей запятой. Путь SIMT: cuda-oxide — это пользовательский бэкенд генерации кода rustc. Он перехватывает компиляцию, направляя функции #[kernel] через Rust MIR, общественный фреймворк Pliron IR и LLVM IR вплоть до PTX.

Ключевые сущности: Компании: NVIDIA, NVlabs