В написанной на Rust реализации OpenCL для Mesa обеспечена поддержка OpenCL 3.0

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
23-Апр-2022 11:30

Развиваемая для проекта Mesa новая реализация OpenCL (rusticl), написанная на языке Rust, успешно прошла набор тестов CTS (Kronos Conformance Test Suite), используемых консорциумом Khronos для оценки совместимости со спецификациями OpenCL 3.0. Проект развивает Кэрол Хербст (Karol Herbst) из компании Red Hat, принимающий участие в разработке Mesa, драйвера Nouveau и открытого стека OpenCL. Отмечается, что Кэрол связался с Khronos на предмет официальной сертификации поддержки OpenCL 3.0 в rusticl.
Тесты пройдены на системе с 12-поколением GPU Intel (Alder Lake). Работа проведена с использованием Mesa-драйвера Iris, но проект должен работать и с другими драйверами Mesa, использующими бестиповое промежуточное представление (IR) шейдеров NIR.
Запрос на слияние Rusticl с Mesa пока находится на стадии рассмотрения и решение о включении кода на языке Rust в Mesa пока не принято. До принятия Rusticl в основной состав Mesa для сборки можно использовать отдельную ветку, при компиляции которой следует указать сборочные параметры "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm=true".
Rusticl выступает в роли аналога присутствующего в Mesa OpenCL-фронтэнда Clover и также разработан с использованием предоставляемого в Mesa интерфейса Gallium. Кол Clover уже давно находится в заброшенном состоянии и rusticl позиционируется как его будущая замена. Кроме достижения совместимости с OpenCL 3.0 проект Rusticl отличается от Clover поддержкой расширений OpenCL для обработки изображений, но пока не поддерживает формат FP16.
Для генерации биндингов для Mesa и OpenCL, позволяющих вызывать Rust-функции из кода на Си и наоборот, в Rusticl задействован rust-bindgen. Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_rusticl, #_mesa, #_opencl
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 19-Апр 21:14
Часовой пояс: UTC + 5