Ukuphunyezwa kwe-Mesa's Rust ye-OpenCL ngoku ixhasa i-OpenCL 3.0

Ukuphunyezwa okutsha kwe-OpenCL (rusticl), ebhalwe kwi-Rust, ephuhliswa kwiprojekthi ye-Mesa, iphumelele ngempumelelo i-CTS (i-Kronos Conformance Test Suite) esetyenziswa yi-Khronos consortium ukuvavanya ukuhambelana neenkcukacha ze-OpenCL 3.0. Iprojekthi iphuhliswa nguKarol Herbst ovela kwi-Red Hat, obandakanyeka kuphuhliso lwe-Mesa, umqhubi we-Nouveau kunye ne-OpenCL evulekileyo. Kuyaphawulwa ukuba uCarol waqhagamshelana noKhronos malunga nokuqinisekiswa okusemthethweni kwe-OpenCL 3.0 inkxaso kwi-rusticl.

Iimvavanyo zagqitywa kwinkqubo ene-Intel GPU yesizukulwana se-12 (i-Alder Lake). Umsebenzi wenziwa kusetyenziswa umqhubi we-Mesa Iris, kodwa iprojekthi kufuneka iphinde isebenze nabanye abaqhubi beMesa abasebenzisa umelo oluphakathi olungenachwephesha (IR) lwe-NIR shaders. Isicelo sokudibanisa iRusticle kunye neMesa sisajongwa kwaye akukho sigqibo senziweyo malunga nokuba ifakwe ikhowudi yeRust kwiMesa. Ngaphambi kokuba i-Rusticl yamkelwe kuluhlu oluphambili lwe-Mesa, ungasebenzisa isebe elahlukileyo lokwakha, xa uqulunqa apho kufuneka uchaze iiparamitha zokwakha “-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= yinyani”.

I-Rusticle isebenza njenge-analogue ye-Mesa's OpenCL frontend Clover kwaye iphuhliswe kusetyenziswa ujongano lwe-Gallium olunikwe kwi-Mesa. I-Clover stake iye yalahlwa ixesha elide kwaye i-rusticl ibekwe kwindawo yayo yexesha elizayo. Ukongeza ekufezekiseni ukuhambelana kwe-OpenCL 3.0, iprojekthi ye-Rusticle ihluke kwi-Clover ekuxhaseni i-OpenCL izandiso zokulungiswa komfanekiso, kodwa ayikaxhasi ifomathi ye-FP16.

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

umthombo: opennet.ru

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster