Pêkanîna Rust ya OpenCL ji bo Mesa piştgirî ji OpenCL 3.0 re peyda dike

Pêkanîna nû ya OpenCL (rusticl), ku bi Rust hatî nivîsandin, ku ji bo projeya Mesa-yê hatî pêşve xistin, bi serketî pakêta testê ya CTS (Kronos Conformance Test Suite) ku ji hêla konsorsiyuma Khronos ve hatî bikar anîn da ku lihevhatina bi taybetmendiyên OpenCL 3.0 binirxîne derbas kir. Proje ji hêla Karol Herbst ve ji Red Hat ve hatî pêşve xistin, ku di pêşkeftina Mesa, ajokarê Nouveau û stacka vekirî ya OpenCL de beşdar e. Tê zanîn ku Carol bi Khronos re di derbarê pejirandîkirina fermî ya piştgirîya OpenCL 3.0 di rusticl de têkilî danî.

Testên li ser pergalek bi nifşa 12-an Intel GPU (Alder Lake) hatin qedandin. Xebat bi karanîna ajokera Mesa Iris hate kirin, lê divê proje bi ajokarên din ên Mesa re jî bixebite ku nûneriya navîn a bê tîp (IR) ya şaderên NIR bikar tînin. Daxwaza yekkirina Rusticle bi Mesa re hîna jî di binê çavan de ye û biryarek nehatiye dayîn ka koda Rust di Mesa de were vegirtin. Berî ku Rusticl di pêkhateya Mesa ya sereke de were pejirandin, hûn dikarin şaxek cihêreng ji bo avakirinê bikar bînin, dema berhevkirina wê divê hûn pîvanên çêkirinê diyar bikin "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= rast".

Rusticle wekî analogek Clover-a pêşîn a OpenCL ya Mesa tevdigere û di heman demê de bi karanîna navbeynkariya Galliumê ya ku di Mesa de hatî peyda kirin jî tête pêşve xistin. Parçeya Clover ji bo demek dirêj ve hatî terikandin û rusticl wekî şûna wê ya pêşerojê tête cîh kirin. Digel bidestxistina lihevhatina OpenCL 3.0, projeya Rusticle ji Clover-ê di piştgirîkirina pêvekên OpenCL-ê de ji bo hilberandina wêneyê cûda dibe, lê hîn jî formata FP16 piştgirî nake.

Ji bo afirandina girêdanên ji bo Mesa û OpenCL, ku dihêle hûn fonksiyonên Rust ji koda C-yê bang bikin û berevajî vê yekê, rust-bindgen di Rusticle de tê bikar anîn. Derfeta bikaranîna zimanê Rust di projeya Mesa de ji sala 2020-an ve tê nîqaş kirin. Di nav avantajên piştgiriya Rust de, zêdebûna ewlehî û kalîteya ajokaran ji ber xilasbûna pirsgirêkên tîpîk dema ku bi bîranînê re dixebitin, û her weha jêhatîbûna tevlêkirina pêşkeftinên sêyemîn ên li Mesa, wekî Kazan (cîanîna Vulkan li Rust). Kêmasî zêde tevliheviya pergala çêkirinê, dilnexwaziya girêdana bi pergala pakêta bargiraniyê ve, hewcedariyên berfireh ên ji bo hawîrdora çêkirinê, û hewcedariya tevlêkirina berhevkarê Rust di nav girêdanên çêkirinê de yên ku ji bo avakirina hêmanên sermaseya sereke yên li Linux-ê hewce ne, vedihewîne.

Source: opennet.ru

Add a comment