Реализация 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 — это попытка Хербста изучить язык программирования 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, как сообщил Нил Треветт в Твиттере:

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, таких как Казань (реализация Vulkan на Rust).

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

Наконец, упоминается, что запрос на объединение Rusticl с Mesa все еще находится на рассмотрении и еще не принято решение о включении кода языка Rust в Mesa, но ожидается, что он появится в выпуске Mesa 22.2.

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

Если вы интересно узнать об этом больше Об этой новой спецификации вы можете узнать подробности По следующей ссылке.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.