Utekelezaji wa Rust wa OpenCL kwa Mesa hutoa usaidizi kwa OpenCL 3.0

Utekelezaji mpya wa OpenCL (rusticl), ulioandikwa kwa Rust, unaoendelezwa kwa ajili ya mradi wa Mesa, umefaulu kupitisha jaribio la CTS (Kronos Conformance Test Suite) linalotumiwa na muungano wa Khronos kutathmini upatanifu na vipimo vya OpenCL 3.0. Mradi huo unaendelezwa na Karol Herbst kutoka Red Hat, ambaye anahusika katika ukuzaji wa Mesa, dereva wa Nouveau na safu ya wazi ya OpenCL. Imebainika kuwa Carol aliwasiliana na Khronos kuhusu uidhinishaji rasmi wa usaidizi wa OpenCL 3.0 katika rusticl.

Majaribio yalikamilishwa kwenye mfumo na Intel GPU ya kizazi cha 12 (Alder Lake). Kazi hiyo ilifanywa kwa kutumia kiendeshi cha Mesa Iris, lakini mradi unapaswa pia kufanya kazi na viendeshaji vingine vya Mesa vinavyotumia uwakilishi wa kati usio na aina (IR) wa vivuli vya NIR. Ombi la kuunganisha Rusticle na Mesa bado linakaguliwa na hakuna uamuzi wowote ambao umefanywa kuhusu kujumuisha msimbo wa Rust katika Mesa. Kabla ya Rusticl kukubaliwa katika muundo mkuu wa Mesa, unaweza kutumia tawi tofauti kwa ujenzi, wakati wa kuandaa ambayo unapaswa kutaja vigezo vya ujenzi "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= kweli”.

Rusticle hufanya kazi kama analogi ya Clover ya mbele ya Mesa ya OpenCL na pia imeundwa kwa kutumia kiolesura cha Gallium kilichotolewa katika Mesa. Dau la Clover limeachwa kwa muda mrefu na rusticl imewekwa kama mbadala wake wa baadaye. Kando na kufikia uoanifu wa OpenCL 3.0, mradi wa Rusticle unatofautiana na Clover katika kusaidia viendelezi vya OpenCL vya kuchakata picha, lakini bado hautumii umbizo la FP16.

Ili kuunda vifungo vya Mesa na OpenCL, hukuruhusu kupiga simu vitendaji vya Rust kutoka kwa msimbo wa C na kinyume chake, rust-bindgen inatumika katika Rusticle. Uwezekano wa kutumia lugha ya Rust katika mradi wa Mesa umejadiliwa tangu 2020. Miongoni mwa faida za msaada wa kutu, usalama ulioongezeka na ubora wa madereva hutajwa kwa sababu ya kuondoa shida za kawaida wakati wa kufanya kazi na kumbukumbu, na pia uwezo wa kujumuisha maendeleo ya mtu wa tatu huko Mesa, kama vile Kazan (utekelezaji wa Vulkan). katika kutu). Hasara ni pamoja na kuongezeka kwa utata wa mfumo wa kujenga, kusita kuunganishwa na mfumo wa mfuko wa mizigo, mahitaji yaliyopanuliwa ya mazingira ya ujenzi, na haja ya kujumuisha mkusanyiko wa Rust katika utegemezi wa kujenga unaohitajika kujenga vipengele muhimu vya eneo-kazi kwenye Linux.

Chanzo: opennet.ru

Kuongeza maoni