Repolode
NVIDIA

NVIDIA/cuda-rust

Платформа NVIDIA для CUDA на Rust: runtime-крейты для хоста и модели SIMT и Tile для написания GPU-ядер на Rust.

Звёзды
4,007
Форки
364
Открытые issues
234
Последний коммит
14 часов назад

Что это?

CUDA Rust позволяет разработчикам на Rust работать с GPU NVIDIA. В проект входят host-side-крейты для CUDA driver API — они охватывают контексты, потоки, буферы устройств, события и ленивые, комбинируемые async-операции, — а также две модели программирования ядер на устройстве.

Компонент cuda-oxide предназначен для традиционной модели SIMT, в которой код пишется для отдельных потоков, а потоками, блоками и shared memory разработчик управляет самостоятельно. Он реализован как пользовательский backend генерации кода для rustc и заранее компилирует Rust в PTX. Компонент cutile-rs предназначен для модели Tile: ядра работают с целыми тайлами многомерных тензоров, а компилятор распределяет вычисления с учётом архитектуры. Это proc-macro-плагин, который компилирует код с помощью JIT при первом запуске.

Обе модели распространяют правила владения Rust на границу запуска GPU-ядра: перед запуском изменяемые буферы делятся на непересекающиеся части, а неизменяемые буферы используются совместно. Проект позиционируется как раннее исследование, поэтому некоторые возможности могут быть не реализованы, а API — меняться.

Ключевые возможности

  • 01Rust-привязки к driver API на стороне хоста: контексты, потоки, буферы устройств и события.
  • 02Модель ядер SIMT с явными индексами потоков и блоков и предварительной компиляцией в PTX.
  • 03Модель ядер Tile, работающая с тайлами тензоров и компилирующаяся с помощью JIT при первом запуске.
  • 04Правила заимствования в стиле системы владения применяются к буферам устройств при запуске ядер.
  • 05Ядра обеих моделей могут работать в одном потоке с общими буферами устройств.

Сценарии использования

  • Написание собственных GPU-ядер на Rust, когда нужен точный контроль над потоками, варпами и shared memory.
  • Представление плотных тензорных или численных вычислений в виде операций над тайлами с передачей планирования компилятору.
  • Создание async-конвейеров для GPU с комбинируемыми операциями над устройством на основе общих runtime-крейтов.

В подборках

Темы

#gpu#cuda#rust#high-performance-computing#nvidia#gpu-programming#async#compiler-backend#heterogeneous-computing#programming-languages

Частые вопросы

Что такое cuda-rust?
Платформа NVIDIA для CUDA на Rust: runtime-крейты для хоста и модели SIMT и Tile для написания GPU-ядер на Rust. CUDA Rust позволяет разработчикам на Rust работать с GPU NVIDIA. В проект входят host-side-крейты для CUDA driver API — они охватывают контексты, потоки, буферы устройств, события и ленивые, комбинируемые async-операции, — а также две модели программирования ядер на устройстве.
cuda-rust можно использовать бесплатно? Какая у него лицензия?
cuda-rust распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
cuda-rust всё ещё поддерживается?
Активно поддерживается. Последний коммит в cuda-rust — 7 нояб. 2026 г..
Для чего можно использовать cuda-rust?
Написание собственных GPU-ядер на Rust, когда нужен точный контроль над потоками, варпами и shared memory. Представление плотных тензорных или численных вычислений в виде операций над тайлами с передачей планирования компилятору. Создание async-конвейеров для GPU с комбинируемыми операциями над устройством на основе общих runtime-крейтов.
Где скачать cuda-rust?
Исходный код и инструкции по установке — на GitHub: https://github.com/NVIDIA/cuda-rust

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Header-only библиотека C++ для написания параллельных программ на основе графов задач с поддержкой многопоточности на CPU и вычислений на GPU через CUDA.

Бэкенд и API#concurrent-programming#multithreading#parallel-computing
12,2 тыс.+8 за неделю1,4 тыс.C++OtherАктивно поддерживаетсяОбновлён 24 дня назад

Профилировщик Python, показывающий загрузку CPU и GPU, а также потребление памяти для каждой строки кода; может предлагать оптимизации с помощью ИИ.

13,6 тыс.+12 за неделю445PythonApache-2.0Активно поддерживаетсяОбновлён 6 дней назад

C++-сервер для инференса LLM на потребительских GPU и смешанных системах AMD/NVIDIA со спекулятивным декодированием, спекулятивным prefill и кастомными ядрами.

3 тыс.+10 за неделю291C++Apache-2.0Активно поддерживаетсяОбновлён 7 часов назад

Библиотека массивов, совместимая с NumPy и SciPy, для запуска существующего Python-кода на GPU NVIDIA CUDA или AMD ROCm.

12,4 тыс.+9 за неделю1,2 тыс.PythonMITОбновлён 3 дня назад