Rusticl тепер сертифікований і підтримує OpenCL 3.0

іржа-2

Контролер Rusticl від Mesa успішно пройшов тести Conformance Test Suite (CTS).

L Розробники проекту Mesa оголосили про сертифікацію контролера rusticl організацією Хронос, якаe успішно пройшов усі тести CTS (Kronos Conformance Test Suite) і було визнано повністю сумісним зі специфікацією OpenCL 3.0, яка визначає API мови C і розширення для оркестрування міжплатформних паралельних обчислень.

Завдяки цьому стало можливим отримати сертифікат, який дозволяє офіційно заявляти про сумісність зі стандартами та використовувати асоційовані з ними торгові марки Khronos.

Драйвер написаний на Rust і розроблений Карол Гербст з Red Hat, яка бере участь у розробці Mesa, драйвера Nouveau та відкритого стеку OpenCL.

Rusticl проходить усі тести CTS

Rusticl щойно став першим кодом Rust у Mesa з реалізацією OpenCL, нещодавно об’єднаною у випуск Mesa 22.3, і слід зазначити, що тестування проводилося на системі з вбудованим графічним процесором Intel 12-го покоління з використанням драйвера Gallium3D Iris.

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

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

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

Код для підтримки мови Rust і контролер rusticl було прийнято в мейнстрім Mesa і буде запропоновано у випуску Mesa 22.3, який очікується наприкінці листопада. Підтримка Rust і Rusticl буде вимкнено за замовчуванням і потребуватиме компіляції з явними параметрами "-D gallium-rusticl=true -Dllvm=увімкнено -Drust_std=2021".

Під час компіляції компілятор rustc, bindgen, LLVM, SPIRV-Tools і SPIRV-LLVM-Translator потрібні як додаткові залежності.

Слід зазначити, що вінAPI OpenCL 3.0 охоплює всі версії OpenCL (1.2, 2.x), не надаючи окремих специфікацій для кожної версії. OpenCL 3.0 надає можливість розширювати основні функції за рахунок інтеграції додаткових специфікацій, які перекриватимуться у формі опцій, не блокуючи монолітну природу OpenCL 1.2/2.X.

Крім того, специфікація OpenCL 3.0 узгоджено з середовищем, розширеннями та специфікаціями загальне проміжне представлення СПІР-В, що також використовує API Vulkan. Завдяки цьому підтримку специфікації SPIR-V 1.3 також було додано до ядра OpenCL 3.0 як додаткову функцію. Використовуючи проміжне представлення SPIR-V для обчислювальних ядер, була додана підтримка операцій з підгрупами.

Нарешті, варто також відзначити роботу над розробкою драйвера Nouveau, також виконану Керол Гербст. Драйвер Nouveau додає базову підтримку OpenGL для GNU NVIDIA GeForce RTX 30xx на основі мікроархітектури Ampere, випущеної з травня 2020 року. Зміни, пов’язані з підтримкою нових чіпів, будуть включені в ядро ​​Linux 6.2 і Mesa 22.3.

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


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

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

*

*

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