Высокопроизводительное программирование GPU традиционно вынуждало выбирать между эффективностью выполнения и безопасностью памяти. Rust гарантирует безопасность памяти на этапе компиляции для CPU благодаря строгой модели владения, но применение этих ограничений к массово-параллельным средам выполнения GPU до сих пор требовало либо привязанных к конкретному вендору предметно-ориентированных языков (DSL), либо перехода к явным небезопасным сырым указателям (unsafe raw pointers).

Группа исследователей — Мануэль С. Древальд, Марсело Домингес, Кевин Сала, Алан Аспуру-Гузик и Йоханнес Дёрферт — представила framework для компиляции GPU-кода с нулевыми накладными расходами, работающий с несколькими вендорами и встроенный непосредственно в компилятор Rust (rustc) и бэкенды LLVM.

Решение опирается на богатую систему типов Rust, систему владения и строгие гарантии отсутствия алиасинга (noalias) для эффективного управления и оптимизации передачи данных через инфраструктуру LLVM Offload. Авторы описывают технические сложности, возникающие при несоответствии ABI между хостом и устройством при кросс-вендорной компиляции, и предлагают двухпроходный конвейер компиляции, способный безопасно обрабатывать как ручные, так и автоматически сгенерированные компилятором перемещения памяти.

Оценка framework на бенчмарке RAJAPerf показала, что решение на базе rustc способно генерировать конкурентоспособный LLVM IR для GPU-ядер, демонстрируя достойную производительность в сравнении с нативными, вручную оптимизированными базовыми реализациями на CUDA и HIP C++.

High-performance GPU programming has traditionally forced a compromise between execution efficiency and memory safety. While Rust guarantees compile-time memory safety for host CPUs via its strict ownership model, applying these constraints to massively parallel GPU execution environments has previously mandated either vendor-locked Domain-Specific Languages (DSLs) or escaping to explicit unsafe raw pointers. This paper presents a zero-overhead, multi-vendor GPU compilation framework built natively into the Rust compiler (rustc) and LLVM backends.

Работа опубликована на arXiv 13 августа 2026 года, объём — 13 страниц, включает 5 иллюстраций. Раздел классификации — Programming Languages (cs.PL).