Реалізація OpenCL від Mesa, написана на русті, вже пройшла тести CTS

Нова реалізація з OpenCL (рустик), розроблений для проекту Mesa, написаний на Rust, успішно пройшов тести CTS (Kronos Conformance Test Suite), який використовується консорціумом Khronos для перевірки сумісності зі специфікаціями OpenCL 3.0.

Ті, хто не знає про «Rusticl», повинні знати, що він опублікований як нова реалізація Mesa OpenCL, написана на мова програмування Іржа.

рустик започаткував відомий співробітник Mesa Кароль Гербст Red Hat, який починав як інженер із відкритим вихідним кодом драйвера NVIDIA «Nouveau» під час роботи в Red Hat, а також працював над підтримкою інформаційних технологій Mesa Clover та іншими розробками. Rusticl — це спроба Herbst вивчити мову програмування Rust, а також надати нову (і, сподіваюся, кращу) реалізацію OpenCL.

Rusticl набагато сучасніший, орієнтований на OpenCL У порівнянні зі старим кодом Clover, і це помітно, що Rusticl на даний момент все ще не підтримує зображення OpenCL, що було ще однією проблемою для Clover.

рустик покладається на clc для компіляції вихідного коду OpenCL у SPIR-V. Rusticl також залежить від NIR-сумісних драйверів Mesa Gallium3D, але всі основні драйвери вже так. Слід зазначити, що Керол зв'язалася з Khronos, щоб отримати офіційну сертифікацію сумісності OpenCL 3.0 в rusticl.

І тепер Rusticl успішно пройшов набір Kronos Conformance Test Suite для оцінки сумісності зі специфікаціями OpenCL 3.0, про що повідомив Ніл Треветт у Twitter:

Khronos пишається тим, що протягом багатьох років відмовився від усіх зборів за прийняття MESA, і багато реалізацій MESA офіційно відповідають вимогам. Чудово, що OpenCL 3.0 від MESA проходить CTS! Повідомте нам, коли MESA буде готова виконати Угоду про прийняття OCL 3.0, і ми зможемо розпочати процес…

Тестування проводилося на системі з графічним процесором Intel 12-го покоління build (Alder Lake), з якою робота була виконана з драйвером Iris Mesa, але згадується, що проект повинен працювати з іншими драйверами Mesa, які використовують нетипізоване проміжне (IR) подання шейдерів NIR.

Rusticl діє як аналог інтерфейсу Mesa OpenCL Clover, а також розроблено з використанням інтерфейсу Mesa Gallium. Конюшина тривалий час перебуває в занедбаному стані і рустик позиціонується як його майбутня заміна. Окрім досягнення сумісності з OpenCL 3.0, проект Rusticl відрізняється від Clover тим, що він підтримує розширення OpenCL для обробки зображень, але поки не підтримує формат FP16.

Rusticl використовує Rust-bindgen генерувати прив’язки для Mesa і OpenCL, які дозволяють викликати функції Rust з коду C і навпаки.

Можливість використання мови Rust в проекті Mesa обговорюється з 2020 року. Серед переваг підтримки Rust називають підвищення безпеки та якості драйверів за рахунок усунення типових проблем при роботі з пам'яттю, а також можливість включення розробок. третіх сторін на Mesa, наприклад Kazan (реалізація Vulkan на Rust).

Серед недоліків – ускладнення системи збірки, небажання прив’язуватися до системи пакетів корисного навантаження, підвищення вимог до середовища збірки, а також необхідність включення компілятора Rust до наданих залежностей збірки. для створення ключових компонентів робочого столу в Linux.

Нарешті, згадується, що запит на злиття Rusticl з Mesa все ще на розгляді і поки не прийнято рішення щодо включення коду мови Rust в Mesa, але очікується, що він з'явиться у випуску Mesa 22.2

Ось чому перед тим, як Rusticl буде прийнятий в основну композицію Mesa, для побудови можна використовувати окрему гілку, при компіляції необхідно вказати параметри збірки "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm = правда».

Якщо ви є цікаво дізнатися про це більше про цю нову специфікацію ви можете перевірити деталі У наступному посиланні.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.