Rust útfærsla OpenCL fyrir Mesa veitir stuðning fyrir OpenCL 3.0

Nýja OpenCL útfærslan (rusticl), skrifuð í Rust, sem verið er að þróa fyrir Mesa verkefnið, hefur staðist CTS (Kronos Conformance Test Suite) prófunarsvítuna sem Khronos hópurinn notaði til að meta samhæfni við OpenCL 3.0 forskriftirnar. Verkefnið er þróað af Karol Herbst frá Red Hat, sem tekur þátt í þróun Mesa, Nouveau dræversins og OpenCL opna stafla. Það er tekið fram að Carol hafði samband við Khronos varðandi opinbera vottun á OpenCL 3.0 stuðningi í rusticl.

Prófunum var lokið á kerfi með 12 kynslóða Intel GPU (Alder Lake). Verkið var unnið með Mesa Iris reklanum, en verkefnið ætti einnig að vinna með öðrum Mesa relum sem nota tegundlausa milliframsetningu (IR) NIR skyggingar. Beiðnin um að sameina Rusticle við Mesa er enn í skoðun og engin ákvörðun hefur verið tekin um hvort Rust-kóða eigi að vera með í Mesa. Áður en Rusticl er samþykkt inn í aðal Mesa samsetninguna geturðu notað sérstaka útibú til að byggja, við samsetningu sem þú ættir að tilgreina byggingarfæribreyturnar “-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= satt".

Rusticle virkar sem hliðstæða Mesa's OpenCL frontend Clover og er einnig þróað með því að nota Gallium viðmótið sem fylgir Mesa. Clover hluturinn hefur verið yfirgefinn í langan tíma og rusticl er komið í stað hans í framtíðinni. Auk þess að ná OpenCL 3.0 eindrægni, er Rusticle verkefnið frábrugðið Clover í því að styðja OpenCL viðbætur fyrir myndvinnslu, en styður ekki enn FP16 sniðið.

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

Heimild: opennet.ru

Kauptu áreiðanlega hýsingu fyrir síður með DDoS vernd, VPS VDS netþjónum 🔥 Kauptu áreiðanlega vefhýsingu með DDoS vörn, VPS VDS netþjónum | ProHoster