Реализацията на Mesa OpenCL, написана на ръжда, вече е преминала CTS тестове

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

За тези, които не знаят за »Rusticl», трябва да знаят, че е публикуван като нова реализация на Mesa OpenCL, написана в програмен език Ръжда.

рустик стартира от известния сътрудник на Mesa Карол Хербст на Red Hat, който започна като инженер върху драйвера с отворен код "Nouveau" на NVIDIA, докато беше в 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 GPU от 12-то поколение build (Alder Lake), с който работата беше свършена с драйвера Iris Mesa, но се споменава, че проектът трябва да работи с други драйвери на Mesa, които използват нетипизирано междинно (IR) представяне на NIR шейдърите.

Rusticl действа като аналог на интерфейса OpenCL Clover на Mesa и също е разработен с помощта на Gallium интерфейса на Mesa. 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.

И накрая, се споменава, че искането за сливане на 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. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.