Исследования17 августа 2026 г., 23:18 МСК🤖 Auto

Rust на GPU: LLVM-оффлодинг обгоняет CUDA в тестах

Исследование показало, что безопасный Rust через LLVM-бэкенд достигает производительности, сопоставимой с нативным CUDA/HIP, сохраняя защиту памяти.

Баннер новости 5949

Безопасность без компромиссов в скорости

Новое исследование, опубликованное на arXiv, демонстрирует прорыв в использовании языка Rust для программирования графических процессоров (GPU). Авторы — Manuel S. Drehwald, Marcelo Domínguez, Kevin Sala, Alán Aspuru-Guzik и Johannes Doerfert — доказали, что можно писать GPU-ядра на безопасном Rust (safe Rust), избегая сырых указателей, и при этом не терять в производительности по сравнению с традиционными C++ решениями на CUDA и HIP.

Ключевым элементом инфраструктуры стал LLVM Offload, который позволяет компилятору Rust генерировать эффективный промежуточный код (IR) для ускорителей. Это решает одну из главных проблем ранних экспериментов: разрыв между безопасностью кода и «железной» скоростью вычислений.

Сравнение производительности: Rust против CUDA/HIP

Результаты бенчмарков показали, что реализация LLVM Offload с Rust является конкурентоспособной в большинстве тестов. В некоторых сценариях она даже превосходит нативные решения, в других — немного уступает, что исследователи связывают с различиями в генерации кода и оптимизации IR. Ниже приведена общая картина сравнения:

Параметр Результат (Rust LLVM Offload) Сравнение с нативным C++ (CUDA/HIP)
Общая производительность Высокая Сопоставима (competitive)
Безопасность памяти Гарантирована компилятором Требует ручного контроля (C++)
Использование указателей Минимизировано (safe Rust) Активно используются raw pointers
Перспективы оптимизации Есть зазоры в генерации IR Эталон для сравнения

Почему это важно для индустрии

До сих пор экосистема GPU-вычислений была монополией C++ (через CUDA для NVIDIA и HIP для AMD). Разработка на Rust предлагает альтернативу, где memory safety (безопасность памяти) встроена в язык, что критически важно для снижения количества уязвимостей и ошибок сегментации в сложных научных и промышленных приложениях.

Исследователи отмечают, что текущие результаты — это лишь начало. Закрыть оставшиеся разрывы в производительности можно за счет улучшения бэкендов LLVM и адаптации характеристик языка Rust под специфику GPU-архитектур. Трекинг поддержки оффлодинга Rust уже ведется в официальном репозитории Rust-Lang.

Доступ к материалам

Полный текст исследовательской работы доступен на arxiv.org. Разработчики, заинтересованные в участии в развитии этой функциональности, могут следить за прогрессом через тикет в репозитории Rust-Lang. Дата публикации исследования: 17 августа 2026 года.

Источник: Phoronix ↗