The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

NVIDIA опубликовала CUDA-oxide, компилятор из Rust в CUDA

12.05.2026 09:46 (MSK)

Компания NVIDIA опубликовала первый выпуск инструментария CUDA-oxide, позволяющего создавать на языке Rust параллельно исполняемые в GPU ядра CUDA SIMT (Single Instruction, Multiple Threads). Проект позволяет компилировать код на языке Rust, использующий штатную систему типов и модель владения Rust, напрямую в инструкции для выполнения в виртуальной машине CUDA PTX (Parallel Thread Execution) без применения промежуточных предметно-ориентированных языков (DSL) и обвязок. Код инструментария написан на языке Rust и распространяется под лицензией Apache 2.0. Первый выпуск позиционируется как начальная альфа-версия.

Инструментарий включает в себя:

  • Бэкенд генерации кода для компилятора rustc, позволяющий компилировать функции с атрибутом "#[kernel]" в параллельно исполняемые на GPU ядра в представлении CUDA PTX. При компиляции используется штатная для rustc цепочка преобразований на базе фреймворка Pliron: Rust -> MIR -> Pliron IR -> LLVM IR -> PTX.
  • Унифицированная система сборки компонентов, выполняемых на хост-системе и на GPU, которая сводится к выполнению команд "cargo oxide build" и "cargo oxide run".
  • Набор Rust-абстракций, который можно использовать в ядрах на стороне GPU. Например, доступны функции для индексации, использования разделяемой памяти и барьеров, атомарных операций, синхронизации групп потоков, TMA (Tensor Memory Accelerator). Возможен вызов обвязок над низкоуровневыми инструкциями, специфичными для архитектуры Blackwell (например, расширенные матричные операции).
  • Crate-пакеты с выполняемыми на стороне хоста компонентами CUDA runtime, позволяющими управлять памятью, запускать ядра на GPU и взаимодействовать с выполняемыми на GPU функциями в асинхронном режиме.
  • Коллекция примеров ядер, демонстрирующих такие возможности, как работа с векторами, умножение матриц (GEMM), атомарные операции, асинхронное выполнение, интеграция с библиотекой MathDx, применение дженериков и замыканий, взаимодействия с CUDA-ядрами на C++/CCCL.

Ядра для GPU создаются на обычном Rust (не диалект), но выполняются в окружении no_std и могут использовать только функции из библиотеки libcore и ранее отмеченные специализированные Rust-абстракции, без доступа к стандартной библиотеке Rust (libstd). Поддерживаются примитивные типы (u8..u64, f32, f64, bool), структуры, перечисления, кортежи, массивы ([T; N]) и слайсы (&[T]), операторы match / if / if let, циклы for и while, итераторы (.iter(), .enumerate()), замыкания и дженерики. Не поддерживаются типы String, Vec и Box, макросы format!, panic! и println!, Trait-объекты и реализуемые через обращение к операционной системе функции стандартной библиотеки (работа с файлами, ввод/вывод, сетевые операции).

Доступно три уровня обеспечения безопасности CUDA-ядер на Rust: защита через систему типов (safe), использование блоков unsafe и обращение к низкоуровневым аппаратным инструкциям. Производительность созданной на CUDA-oxide реализации матричного умножения (GEMM SoL) на GPU B200 достигает 868 триллионов операций в секунду, что составляет 58% от производительности оптимизированной библиотеки cuBLAS.



  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Атака GPUBreach, позволяющая получить root-доступ через выполнение CUDA-кода на GPU NVIDIA
  3. OpenNews: Для Mesa предложен драйвер cluda, позволяющий реализовать OpenCL поверх NVIDIA CUDA
  4. OpenNews: Выпуск ZLUDA 5, универсальной открытой реализации технологии CUDA
  5. OpenNews: Проект LibreCUDA для запуска кода CUDA на GPU NVIDIA без проприетарного Runtime
  6. OpenNews: NVIDIA препятствует разработке транслирующих прослоек для запуска CUDA на других платформах
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65426-cuda-oxide
Ключевые слова: cuda-oxide, cuda, rust, nvidia
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (34) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:11, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Нанейрослопили коноплятор на коленке за неделю.
     
     
  • 2.3, Данные в так называемом поле Name (?), 10:15, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А нужен ли канпилятор Rust, когда с помощью нейросетей можно легко править дыры создаваемые на Си? Робожаба подскажет: "тута ты память освобождённую освободил, а тута залез в соседний массив".
     
     
  • 3.4, Nuzhny007 (?), 10:35, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Если рассчитывать на то, что нейросети тоже будут писать код, то Rust для них лучше: больше ограничений - меньше галлюцинаций.
     
     
  • 4.6, Аноним (6), 10:42, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    а зачем нейросетям писать на человеческих языках, если их можно обучит напрямую в инструкциях процессора писать?
     
     
  • 5.19, Nuzhny007 (?), 11:22, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Инструкциях какого процессора? Ты ещё и функции компилятора и оптимизатора на них хочешь переложить? Рановато
     
     
  • 6.30, Аноним (6), 12:12, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем сложность? Хоть 1000 разных процессоров и архитектур. В отличии от общих языков эти инструкции просты, их относительно мало, и они все чётко определены. И не надо никакие кортежи придумывать, множественные наследования и прочие лямбда-выражения - ИИ может быть свободен от этих абстракций и писать без лишних прослоек.
     
  • 4.12, Аноним (12), 11:01, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Больше ограничений - больше unwrap().
     
  • 4.13, Аноним (13), 11:04, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нейросети не умеют писать код, не распространяйте этот тynизм.
    Для нейросети любой ЯП - это просто набор иероглифов, бессмысленный ASCII. В сеть закладывают какие-то цепочки символов и чем-то это называют. Никакого ПОНИМАНИЯ ЗАДАЧИ у нейросети нет. Поэтому писать код??? Увы, не в этом столетии. Максимум - чуть более "интеллектуальный" intellisense. Да и то вопрос, что лучше - тупо статистическая выборка или "необъяснимый вывод" нейрослопа.
     
     
  • 5.15, Аноним (15), 11:10, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пользователь тоже не понимает когда кнопки жмет, но работать ему это не мешает, раки на дне реки тоже гидродинамику не понимают, но это им не мешает..
     
  • 5.21, Nuzhny007 (?), 11:25, 12/05/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.28, q (ok), 12:06, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Человеческий мозг от LLM отличается только масштабом, но не качеством. Поэтому "понимания задачи" нет и у людей. Твоя проблема в том, что ты не знаешь, что такое "понимание". Что это такое - ты не знаешь, но уверен, что у тебя оно есть.
     
     
  • 6.33, Аноним (33), 12:24, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Количество переходит в качество. Микроконтроллер тоже отличается от SoC только масштабом.
     
  • 3.25, Аноним (33), 11:45, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >А нужен ли канпилятор Rust, когда с помощью нейросетей можно легко править дыры создаваемые на Си?

    Конечно не нужен, от него же уже все, включая авторов, отказались лет пятнадцать назад. Один вы, спите, и видите сны, как rust во всём мире используют, и никак не можете проснуться. Ведь так, правда же?

     

  • 1.2, Аноним (2), 10:11, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Памать скоро ещё сильнее подорожает.
     
  • 1.5, AS (??), 10:41, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    эээ т.е. если ядро на расте перепишут то оно из видяхи работать будет сразу? и материнка не нужна будет? а флешки тогда куда втыкать?
     
     
  • 2.7, Аноним (6), 10:46, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    новые беспроводные флешки нужно просто прикладывать к GPU
     
  • 2.8, мяв (?), 10:54, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    я вот тоже хотела пошутить про conduwuit в гпу.
    но нет, это только для того, для чего куда используется обычно. просто типа пишешь на расте и дергаешь "сискалы" куды, насколько понимаю
     

  • 1.9, Аноним (9), 10:58, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > NVIDIA опубликовала CUDA-oxide, компилятор из Rust в CUDA

    Очередной удар по воинам против Раста. 😢

    "- Почему такой софт до сих пор пишут не на rust?"
    "- потому что на раст нету компилятора в гпу код, а на cpu это все юзлесс затычка"

    https://www.opennet.ru/openforum/vsluhforumID3/140006.html#3

     
     
  • 2.11, Аноним (13), 11:01, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Очередной dead-born проект только для того, чтобы через 5 лет обнаружить, что поддерживать это г__но больше некому и СНОВА ПЕРЕПИСЫВАТЬ.
     
     
  • 3.16, q (ok), 11:13, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Любой проект - очередной. Неочередным был лишь самый первый проект в истории человечества. Наверняка что-то связанное с изобретением палки-копалки. Любой следующий проект (изобретение колеса и так далее) - всего лишь "очередной". Переписывать софт будут всегда, потому что меняются требования, развивается экосистема. День, когда перестанут переписывать софт, наверняка будет днем, когда упадет 10-километровый метеорит или что-то такое. В остальное время переписывание софта - это естественно и правильно.
     
  • 2.18, Аноним (18), 11:18, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Тебе настолько важно мнение анонимов из интернетов, что ты не поленился и привел ссылку?
     
     
  • 3.31, Сладкая булочка (?), 12:15, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Тебе настолько важно мнение анонимов из интернетов, что ты не поленился и привел ссылку?

    А чем еще заняться растовщиками как не отслеживанием комментариев от анонимов? Ну не код же писать действительно...

     
     
  • 4.35, Аноним (35), 12:28, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А что мешает писать код, а в свободное от работы время тыкать убогих хейтеров носом в их же комментарии?
    Или дыряшники настолько однозадачные, что не могут себе такое представить?
     
  • 2.20, Аноним (20), 11:25, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Очередной удар по воинам против Раста. 😢

    Раст это всего лишь технология, если для кого-то это предмет культа, то тут проблемы с головой.

    > "- потому что на раст нету компилятора в гпу код, а на cpu это все юзлесс затычка"

    cuda есть только на nvidia, то есть мобилки и большая часть ноутов с интегрированным гпу в пролете все еще. сегмент у решения серверный (наука или ии).

    а вообще как всегда, такие вот инициативные "промоутеры" раста, лучшая антиреклама для раста.

     
     
  • 3.23, Аноним (9), 11:37, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > cuda есть только на nvidia, то есть мобилки и большая часть ноутов с интегрированным гпу в пролете все еще.

    Логично, ведь код для интенсивных GPU-вычислений пишется не ради запуска на мобилках и интелловских интеграшках.

    > сегмент у решения серверный (наука или ии).

    Сегмент у решения такой же, как и у CUDA в целом. Или ты уже против CUDA решил повоевать?

     

  • 1.14, Аноним (12), 11:06, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Поддерживаются примитивные типы (u8..u64, f32, f64, bool), структуры, перечисления, кортежи, массивы ([T; N]) и слайсы (&[T]), операторы match / if / if let, циклы for и while, итераторы (.iter(), .enumerate()), замыкания и дженерики

    Зачем это нужно, если всё это уже отлично работает на Си?

     
     
  • 2.22, Сладкая булочка (?), 11:37, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Индусы в авторах сего поделия не могут в си.
     
  • 2.24, Аноним (9), 11:43, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> кортежи, массивы ([T; N]) и слайсы (&[T]), операторы match [...] итераторы (.iter(), .enumerate()), замыкания и дженерики
    > Зачем это нужно, если всё это уже отлично работает на Си?

    Эмм, нет. Кортежи, слайсы, match, итераторы замыкания и дженерики на Си не просто не работают - они там напрочь отсутствуют.

     
  • 2.27, Володька Драйвер (?), 11:51, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что?! Нету в С ни слайсов, ни патерн матчинга и всего другого.
     
     
  • 3.29, Сладкая булочка (?), 12:12, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Напиши сам https://godbolt.org/z/8fKsc8c8K
     
     
  • 4.32, Аноним (33), 12:22, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А типизацию Пушкин писать будет?
     
  • 2.36, Аноним (35), 12:29, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > отлично работает на Си

    Про "отлично работает" можешь почитать в соседних темах про дырени в ядре и бзде.
    Которые жили много лет.

    Да и кто ты такой, чтобы указывать нвидии на чем им писать?
    Думаю они без сопливых разберутся.

     

  • 1.26, Сладкая булочка (?), 11:49, 12/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > Не поддерживаются типы String, Vec и Box, макросы format!, panic! и println!, Trait-объекты и реализуемые через обращение к операционной системе функции стандартной библиотеки (работа с файлами, ввод/вывод, сетевые операции).

    Ахах. То есть, местные растовщики даже распечатать не смогут ничего? А как же они пели про cargo, а тут оказывется no_std.

     
     
  • 2.34, Аноним (34), 12:26, 12/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    как жить без паники, ведь это единственный способ решить оставшиеся проблемы раста
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру