Uus Rust keeles kirjutatud OpenCL-i juurutus (rusticl), mida arendatakse Mesa projekti jaoks, on edukalt läbinud CTS (Kronos Conformance Test Suite) testikomplekti, mida kasutas Khronose konsortsium, et hinnata ühilduvust OpenCL 3.0 spetsifikatsioonidega. Projekti arendab Karol Herbst Red Hatist, kes on seotud Mesa, Nouveau draiveri ja OpenCL-i avatud pinu arendamisega. Tuleb märkida, et Carol võttis Khronosega ühendust seoses OpenCL 3.0 toe ametliku sertifitseerimisega rustiklis.
Testid viidi lõpule 12. põlvkonna Inteli GPU-ga (Alder Lake) süsteemiga. Töö viidi läbi Mesa Irise draiveriga, kuid projekt peaks töötama ka teiste Mesa draiveritega, mis kasutavad NIR-varjurite tüüpideta vahepealset esitust (IR). Rusticle'i ja Mesaga liitmise taotlus on endiselt läbivaatamisel ja otsust Rusti koodi lisamise kohta Mesasse pole tehtud. Enne kui Rusticl võetakse Mesa põhikoosseisu, saab ehitamiseks kasutada eraldi haru, mille koostamisel tuleks määrata ehitusparameetrid “-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= tõsi".
Rusticle toimib Mesa OpenCL-liidese Cloveri analoogina ja seda arendatakse ka Mesas pakutava Galliumi liidese abil. Cloveri vaiast on pikka aega loobutud ja rusticl on selle tulevane asendaja. Lisaks OpenCL 3.0 ühilduvuse saavutamisele erineb Rusticle projekt Cloverist selle poolest, et toetab OpenCL-i laiendusi pilditöötluseks, kuid ei toeta veel FP16 vormingut.
Rusticl kasutab Mesa ja OpenCL-i sidemete genereerimiseks rust-bindgeni, mis võimaldab Rusti funktsioone kutsuda C-koodist ja vastupidi. Rusti keele kasutamise võimalust Mesa projektis on arutatud alates 2020. aastast. Rusti toetamise eeliste hulka kuuluvad suurem draiveri turvalisus ja kvaliteet tänu levinud mäluprobleemide kõrvaldamisele, samuti võimalus integreerida Mesasse kolmandate osapoolte arendusi, näiteks Kazan (Vulkani Rusti implementatsioon). Puuduste hulka kuuluvad suurenenud ehitussüsteemi keerukus, vastumeelsus tugineda kaubapakendisüsteemile, laiendatud ehituskeskkonna nõuded ja vajadus lisada Rusti kompilaator ehitussõltuvustesse, mis on vajalikud oluliste töölauakomponentide loomiseks. Linux.
Allikas: opennet.ru
