Mesa-nın OpenCL-in Rust tətbiqi indi OpenCL 3.0-ı dəstəkləyir

Mesa layihəsi üçün hazırlanmış Rust dilində yazılmış yeni OpenCL tətbiqi (rusticl) OpenCL 3.0 spesifikasiyası ilə uyğunluğu qiymətləndirmək üçün Khronos konsorsiumu tərəfindən istifadə edilən CTS (Kronos Uyğunluq Test Paketi) test paketindən uğurla keçdi. Layihə Mesa, Nouveau sürücüsü və OpenCL açıq yığınının hazırlanmasında iştirak edən Red Hat-dan Karol Herbst tərəfindən hazırlanır. Qeyd olunur ki, Kerol rustik dildə OpenCL 3.0 dəstəyinin rəsmi sertifikatlaşdırılması ilə bağlı Khronosla əlaqə saxlayıb.

Testlər 12-ci nəsil Intel GPU (Alder Lake) ilə sistemdə tamamlandı. İş Mesa Iris sürücüsündən istifadə etməklə həyata keçirilib, lakin layihə NIR şeyderlərinin tipsiz aralıq təmsilçiliyindən (IR) istifadə edən digər Mesa sürücüləri ilə də işləməlidir. Rusticle-nin Mesa ilə birləşməsi tələbi hələ də nəzərdən keçirilir və Rust kodunu Mesa-ya daxil edib-etməmək barədə qərar qəbul edilməyib. Rusticl əsas Mesa tərkibinə qəbul edilməzdən əvvəl, tikinti üçün ayrıca bir filialdan istifadə edə bilərsiniz, onu tərtib edərkən quraşdırma parametrlərini təyin etməlisiniz “-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm= doğru".

Rusticle Mesa-nın OpenCL frontend Clover-in analoqu kimi çıxış edir və həmçinin Mesa-da təqdim olunan Gallium interfeysindən istifadə etməklə hazırlanmışdır. Clover payı uzun müddətdir ki, tərk edilib və rustikl onun gələcək əvəzi kimi yerləşdirilib. OpenCL 3.0 uyğunluğuna nail olmaqdan əlavə, Rusticle layihəsi təsvirin işlənməsi üçün OpenCL genişləndirmələrini dəstəkləməkdə Clover-dən fərqlənir, lakin hələ FP16 formatını dəstəkləmir.

Mesa və OpenCL üçün bağlamalar yaratmaq üçün, Rust funksiyalarını C kodundan və əksinə çağırmağa imkan verir, Rusticle-də rust-bindgen istifadə olunur. Mesa layihəsində Rust dilinin istifadəsinin mümkünlüyü 2020-ci ildən müzakirə edilir. Rust dəstəyinin üstünlükləri arasında yaddaşla işləyərkən tipik problemlərdən qurtulmaq, həmçinin Kazan (Vulkanın tətbiqi) kimi üçüncü tərəfin inkişaflarını Mesa-ya daxil etmək imkanı sayəsində sürücülərin artan təhlükəsizliyi və keyfiyyəti qeyd olunur. Rustda). Dezavantajlara quraşdırma sisteminin artan mürəkkəbliyi, yük paketi sisteminə bağlanmaq istəməməsi, qurma mühiti üçün genişləndirilmiş tələblər və Linux-da əsas iş masası komponentlərinin qurulması üçün tələb olunan qurma asılılıqlarına Rust kompilyatorunun daxil edilməsi zərurəti daxildir.

Mənbə: opennet.ru

Добавить комментарий