Mesas Rust-implementering af OpenCL understøtter nu OpenCL 3.0

Den nye OpenCL-implementering (rusticl), skrevet i Rust, der udvikles til Mesa-projektet, har med succes bestået CTS (Kronos Conformance Test Suite) testsuiten, der bruges af Khronos-konsortiet til at vurdere kompatibilitet med OpenCL 3.0-specifikationerne. Projektet udvikles af Karol Herbst fra Red Hat, som er involveret i udviklingen af ​​Mesa, Nouveau-driveren og OpenCL open stack. Det bemærkes, at Carol kontaktede Khronos angående den officielle certificering af OpenCL 3.0-understøttelse i rustikl.

Testene blev gennemført på et system med en 12. generations Intel GPU (Alder Lake). Arbejdet blev udført ved hjælp af Mesa Iris-driveren, men projektet skulle også arbejde med andre Mesa-drivere, der anvender den typeløse mellemrepræsentation (IR) af NIR shaders. Anmodningen om at fusionere Rusticle med Mesa er stadig under behandling, og der er ikke truffet nogen beslutning om, hvorvidt Rust-kode skal inkluderes i Mesa. Før Rusticl accepteres i hoved-Mesa-sammensætningen, kan du bruge en separat gren til bygning, når du kompilerer, som du skal angive byggeparametrene "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= rigtigt".

Rusticle fungerer som en analog af Mesas OpenCL frontend Clover og er også udviklet ved hjælp af Gallium-grænsefladen, der findes i Mesa. Clover-staken har været forladt i lang tid, og rustik er placeret som dens fremtidige erstatning. Ud over at opnå OpenCL 3.0-kompatibilitet adskiller Rusticle-projektet sig fra Clover ved at understøtte OpenCL-udvidelser til billedbehandling, men det understøtter endnu ikke FP16-formatet.

Для генерации биндингов для Mesa и OpenCL, позволяющих вызывать Rust-функции из кода на Си и наоборот, в Rusticl задействован rust-bindgen. Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster