Naujasis OpenCL diegimas (rusticl), parašytas Rust kalba, kuriamas Mesa projektui, sėkmingai išlaikė CTS (Kronos Conformance Test Suite) testų rinkinį, kurį naudojo Khronos konsorciumas, kad įvertintų suderinamumą su OpenCL 3.0 specifikacijomis. Projektą kuria Karolis Herbstas iš Red Hat, kuris dalyvauja kuriant Mesa, Nouveau tvarkyklę ir OpenCL atvirą stacką. Pažymima, kad Carol susisiekė su Khronos dėl oficialaus OpenCL 3.0 palaikymo rusticl sertifikavimo.
Bandymai buvo baigti sistemoje su 12 kartos Intel GPU (Alder Lake). Darbas buvo atliktas naudojant „Mesa Iris“ tvarkyklę, tačiau projektas taip pat turėtų veikti su kitomis „Mesa“ tvarkyklėmis, kurios naudoja NIR šešėlių be tipo tarpinį atvaizdavimą (IR). Prašymas sujungti „Rusticle“ su „Mesa“ vis dar svarstomas ir nebuvo priimtas sprendimas, ar įtraukti „Rust“ kodą į „Mesa“. Prieš priimant Rusticl į pagrindinę „Mesa“ kompoziciją, pastatymui galite naudoti atskirą šaką, kurią sudarydami turite nurodyti pastatymo parametrus „-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= tiesa".
„Rusticle“ veikia kaip „Mesa“ „OpenCL“ priekinės dalies „Clover“ analogas ir taip pat sukurta naudojant „Mesa“ pateiktą „Gallium“ sąsają. Dobilo kuolas buvo apleistas ilgą laiką, o rusticl laikomas būsimu jo pakaitalu. Be to, kad „Rusticle“ projektas yra suderinamas su „OpenCL 3.0“, jis skiriasi nuo „Clover“ tuo, kad palaiko „OpenCL“ plėtinius vaizdo apdorojimui, tačiau dar nepalaiko FP16 formato.
„Rusticl“ naudoja „rust-bindgen“, kad generuotų susiejimus „Mesa“ ir „OpenCL“, leisdamas iškviesti „Rust“ funkcijas iš C kodo ir atvirkščiai. Galimybė naudoti „Rust“ kalbą „Mesa“ projekte buvo aptariama nuo 2020 m. Tarp „Rust“ palaikymo privalumų yra padidėjęs tvarkyklių saugumas ir kokybė dėl įprastų atminties problemų pašalinimo, taip pat galimybė į „Mesa“ integruoti trečiųjų šalių kūrimus, pvz., „Kazan“ („Vulkan“ „Rust“ įgyvendinimas). Trūkumai yra padidėjęs kompiliavimo sistemos sudėtingumas, nenoras pasikliauti krovinių pakavimo sistema, išplėsti kompiliavimo aplinkos reikalavimai ir poreikis įtraukti „Rust“ kompiliatorių į kompiliavimo priklausomybes, reikalingas pagrindiniams darbalaukio komponentams kurti. Linux.
Šaltinis: opennet.ru
