Rusti keeles kirjutatud OpenCL rakenduses Mesa on toetatud OpenCL 3.0.

Mesa projekti jaoks arendatav uus OpenCL rakendus (rusticl), mis on kirjutatud Rusti keeles, on edukalt läbinud CTSi (Kronose Ühildumise Testide Komplekt) testide seeria, mida Khronose konsortsium kasutab OpenCL 3.0 spetsifikatsioonidega ühilduvuse hindamiseks. Projekti arendab Karol Herbst Red Hat'ist, kes osaleb Mesa, Nouveau draiveri ja avatud OpenCL stack'i arendamisel. Karol on märkinud, et ta on pöördunud Khronose poole, et taotleda ametlikku sertifitseerimist rusticl'i OpenCL 3.0 toe osas.

Testid on läbitud 12. genereerimise Intel GPU (Alder Lake) süsteemis. Töö on tehtud kasutades Mesa draiverit Iris, kuid projekt peaks töötama ka teiste Mesa draiveritega, mis kasutavad tüübiülese vaheesituse (IR) shader'ite NIR-d. Rusticl'i ühendamise taotlus Mesaga on praegu ülevaatamisel ja otsust koodi Rusti keeles lisamise kohta Mesasse pole veel langetatud. Enne Rusticl'i vastuvõtmist Mesasse võib kasutada eraldi haru koostamiseks, mille kompileerimisel tuleb määrata koostamisparameetrid „-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm=true“.

Rusticl toimib Mesa OpenCL-i Cloveri liidese analoogina ja see on samuti arendatud Mesa poolt pakutud Galliumi liidese abil. Kuna Clover on juba ammu hüljatud, on rusticl positsioneeritud selle tulevase asendajana. Lisaks OpenCL 3.0 ühilduvuse saavutamisele eristab Rusticl't Cloverist ka OpenCL laienduste tugi pilditöötlusele, kuid hetkel ei toeta see FP16 formaati.

Mesa ja OpenCL-i bindimiste genereerimiseks, mis võimaldavad kutsuda Rust-funksioone C-koodist ja vastupidi, kasutatakse Rusticl'is rust-bindgen'i. Rusti kasutamise võimalust Mesa projektis arutatakse alates 2020. aastast. Rusti toetuse eeliste seas on mainitud turvataseme ja draiverite kvaliteedi tõusu, kuna see vabaneb tüüpilistest mäluga seotud probleemidest, samuti võimalust kaasata Mesa koosseisu kolmandate osapoolte arendusi, nagu Kazan (Vulkaani teostamine Rust'is). Puudustena tuuakse välja ehitussüsteemi keerukuse suurenemine, vastumeelsus siduda end pakkuvate süsteemidega cargo, ehituskeskkonna nõuete laienemine ja vajadus kaasata Rusti kompilaator ehituse sõltuvustesse, mis on vajalikud Linuxi töölauakomponentide ehitamiseks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster