HARDW / НОВИНИУкраїнською про комп’ютерне залізо, гаджети, бенчмарки та технології
HARDWзалізо. чесні цифри. ⌕

AMD формує команду Rust для GPU: мова має дістатися компіляторів і прошивок

Невелика команда AMD працюватиме з Rust у компіляторах, середовищах виконання, низькорівневому ПЗ та прошивках майбутніх графічних процесорів.

Графічна плата з візуалізацією шарів безпечного коду та прошивки GPU
Графічна плата з візуалізацією шарів безпечного коду та прошивки GPU

AMD планує просунути Rust значно глибше у програмний стек графічних процесорів. Старший технічний фахівець компанії Харш Мено повідомив про створення невеликої спеціалізованої команди, яка працюватиме з компіляторами, середовищами виконання, низькорівневим GPU-ПЗ, прошивками та спільним проєктуванням апаратної й програмної частин. Намір підтверджує вакансія інженера, де Rust названо одним із головних технічних напрямів, а не допоміжним інструментом.

Найцікавіше слово в переліку — «прошивка». Сучасна відеокарта містить кілька мікроконтролерів, які керують частотами, напругою, лімітами потужності, чергами команд, виведенням зображення та частиною функцій безпеки. Помилка в такому коді може проявлятися як чорний екран, зависання, скидання драйвера або нестабільність лише після тривалого навантаження. Відтворити подібний дефект набагато складніше, ніж звичайний збій застосунку.

Rust не гарантує правильності алгоритму і не усуває помилки проєктування. Його головна перевага — суворіша модель роботи з пам’яттю та конкурентністю. Компілятор здатен зупинити частину небезпечних операцій ще до запуску коду: використання вже звільненої пам’яті, вихід за межі буфера або неконтрольований доступ із кількох потоків. Саме такі помилки особливо неприємні у вбудованому програмному забезпеченні, яке працює з перериваннями та розділяє ресурси між багатьма блоками GPU.

Перехід не буде швидким. Прошивки мають жорсткі обмеження за обсягом пам’яті, затримкою, підтримуваними інструкціями та інструментами налагодження. Для кожного вбудованого ядра потрібні компіляторна ціль, стандартна бібліотека або її мінімальна заміна, завантажувач, засоби тестування й інтеграція з чинним C/C++-кодом. Команда також повинна довести, що новий інструментарій не погіршує передбачуваність часу виконання та енергоспоживання.

AMD не перша переносить Rust у графічну інфраструктуру. Nvidia розробляє Nova — драйвер ядра Linux мовою Rust для GPU з процесором GSP. Але заявлений AMD масштаб потенційно ширший: від компілятора й runtime до коду всередині самого пристрою. Поки це напрям і кадровий набір, а не готовий продукт. Компанія не назвала конкретну архітектуру Radeon або Instinct, версію ROCm чи дату першого релізу.

Для власників відеокарт практичний ефект з’явиться не від самого вибору мови. Важливіше, чи зменшиться кількість складних зависань, чи стане швидшим пошук дефектів і чи отримають драйвери однакову якість у Windows та Linux. Rust може допомогти сформулювати безпечні межі між компонентами, але підтримка старих GPU, тестова матриця та швидкість випуску виправлень залишаться організаційними задачами.

Для розробників ROCm і графічних застосунків зміни можуть бути ще помітнішими, якщо AMD створить стабільні Rust-інтерфейси до компіляторів і runtime. Нині більшість високопродуктивного GPU-коду тяжіє до C++, HIP або мовних оболонок над ними. Повноцінний Rust-шлях спростив би створення безпечних серверних служб, інструментів обробки даних і систем, де один процес одночасно керує мережею, пам’яттю та прискорювачами.

Однак вакансія однієї команди не означає переписування всього драйвера Radeon. Реалістичний сценарій — нові ізольовані компоненти, інструменти валідації та поступове використання Rust у майбутніх платформах. Старий перевірений код продовжить працювати поруч. Першим сигналом реального прогресу стануть відкриті репозиторії, патчі до LLVM або Linux і згадки конкретних цілей прошивки. До цього новину слід оцінювати як серйозний інженерний намір, але не як обіцянку швидкого виправлення всіх проблем драйверів.

Першоджерело

Матеріал підготовлений редакцією HARDW на основі публікації Hardware Busters.

Відкрити оригінал на Hardware Busters ↗