La implementació Rust d'OpenCL per a Mesa proporciona suport per a OpenCL 3.0

La nova implementació OpenCL (rusticl), escrita en Rust, que s'està desenvolupant per al projecte Mesa, ha superat amb èxit la suite de proves CTS (Kronos Conformance Test Suite) utilitzada pel consorci Khronos per avaluar la compatibilitat amb les especificacions OpenCL 3.0. El projecte està sent desenvolupat per Karol Herbst de Red Hat, que participa en el desenvolupament de Mesa, el controlador Nouveau i la pila oberta OpenCL. Cal assenyalar que Carol va contactar amb Khronos pel que fa a la certificació oficial del suport OpenCL 3.0 a rusticl.

Les proves es van completar en un sistema amb una GPU Intel de 12a generació (Alder Lake). El treball es va dur a terme amb el controlador Mesa Iris, però el projecte també hauria de funcionar amb altres controladors Mesa que utilitzen la representació intermèdia sense tipus (IR) dels shaders NIR. La sol·licitud per fusionar Rusticle amb Mesa encara està en procés de revisió i no s'ha pres cap decisió sobre si incloure el codi Rust a Mesa. Abans d'acceptar Rusticl a la composició principal de Mesa, podeu fer servir una branca separada per a la construcció, en compilar la qual hauríeu d'especificar els paràmetres de compilació "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= veritat”.

Rusticle actua com un anàleg de la interfície OpenCL Clover de Mesa i també es desenvolupa mitjançant la interfície Gallium proporcionada a Mesa. L'estaca Clover fa temps que està abandonada i rusticl es posiciona com el seu futur substitut. A més d'aconseguir la compatibilitat amb OpenCL 3.0, el projecte Rusticle difereix de Clover pel fet de donar suport a les extensions OpenCL per al processament d'imatges, però encara no és compatible amb el format FP16.

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

Font: opennet.ru

Compreu allotjament fiable per a llocs amb protecció DDoS, servidors VPS VDS 🔥 Compra allotjament web fiable amb protecció DDoS, servidors VPS VDS | ProHoster