Ang pagpapatupad ng OpenCL ng Mesa na nakasulat sa kalawang ay nakapasa na sa mga pagsubok sa CTS

Ang bagong pagpapatupad mula sa OpenCL (tagabukid) na binuo para sa proyekto ng Mesa, na nakasulat sa Rust, ay matagumpay na nakapasa sa mga pagsusulit sa CTS (Kronos Conformance Test Suite) na ginagamit ng Khronos consortium upang subukan ang pagiging tugma sa mga detalye ng OpenCL 3.0.

Para sa mga hindi nakakaalam ng »Rusticl» dapat nilang malaman na ito ay nai-publish bilang isang bagong pagpapatupad ng Mesa OpenCL na nakasulat sa wika ng programa Kalawang.

rusticl ay sinimulan ng kilalang Mesa collaborator na si Karol Herbst ng Red Hat na nagsimula bilang isang inhinyero sa "Nouveau" open source driver ng NVIDIA habang nasa Red Hat, at nagtrabaho sa suporta sa IT ng Clover ng Mesa at iba pang mga pagsusumikap. Ang Rusticl ay isang pagtatangka ng Herbst na matutunan ang Rust programming language at upang magbigay din ng bago (at sana ay mas mahusay) na pagpapatupad ng OpenCL.

Ang Rusticl ay mas modernong nakatutok sa OpenCL kumpara sa lumang Clover code at ito ay kapansin-pansin, ito ay ang Rusticl sa puntong ito ay wala pa ring suporta sa imahe ng OpenCL na naging isa pang isyu sa Clover.

rusticl umaasa sa clc upang i-compile ang OpenCL source code sa SPIR-V. Nakadepende rin ang Rusticl sa mga driver ng Mesa Gallium3D na sumusunod sa NIR, ngunit ginagawa na ng lahat ng pangunahing driver. Dapat tandaan na nakipag-ugnayan si Carol kay Khronos para makakuha ng opisyal na sertipikasyon ng OpenCL 3.0 compatibility sa rusticl.

At ngayon, matagumpay na naipasa ni rusticl ang Kronos Conformance Test Suite upang masuri ang pagiging tugma sa mga pagtutukoy ng OpenCL 3.0, gaya ng inihayag ni neil trevett sa Twitter:

Ipinagmamalaki ni Khronos na isinuko ang lahat ng bayarin sa pag-aampon ng MESA sa mga nakaraang taon, at maraming mga pagpapatupad ng MESA ang opisyal na sumusunod. Mahusay na ang OpenCL 3.0 mula sa MESA ay pumasa sa CTS! Ipaalam sa amin kapag handa na ang MESA na isagawa ang OCL 3.0 Adoption Agreement at maaari na naming simulan ang proseso...

Ginawa ang pagsubok sa isang system na may 12th Gen Intel GPU build (Alder Lake), kung saan ginawa ang trabaho kasama ang driver ng Iris Mesa, ngunit binanggit na dapat gumana ang proyekto sa iba pang mga driver ng Mesa na gumagamit ng typeless intermediate (IR) na representasyon ng mga NIR shaders.

Ang Rusticl ay gumaganap bilang isang katapat sa OpenCL Clover interface ng Mesa at binuo din gamit ang Gallium interface ng Mesa. Ang Clover ay nasa isang estado ng kapabayaan sa loob ng mahabang panahon at ang rusticl ay nakaposisyon bilang kapalit nito sa hinaharap. Bilang karagdagan sa pagkamit ng OpenCL 3.0 compatibility, ang proyekto ng Rusticl ay naiiba sa Clover dahil sinusuportahan nito ang mga extension ng OpenCL para sa pagpoproseso ng imahe, ngunit hindi pa sinusuportahan ang format na FP16.

Gumagamit si Rusticl ng rust-bindgen upang makabuo ng mga binding para sa Mesa at OpenCL na nagpapahintulot sa mga Rust function na matawag mula sa C code at vice versa.

Ang posibilidad ng paggamit ng Rust na wika sa proyekto ng Mesa ay tinalakay mula noong 2020. Kabilang sa mga bentahe ng Rust support binanggit nila ang pagpapabuti ng seguridad at kalidad ng mga driver sa pamamagitan ng pag-aalis ng mga tipikal na problema kapag nagtatrabaho gamit ang memorya, pati na rin ang posibilidad ng pagsasama ng mga pag-unlad ng mga ikatlong partido sa Mesa, gaya ng Kazan (isang pagpapatupad ng Vulkan sa Rust).

Kabilang sa mga pagkukulang, mayroong isang komplikasyon ng build system, isang hindi pagpayag na sumailalim sa sistema ng payload package, isang pagtaas sa mga kinakailangan para sa build environment, at ang pangangailangan na isama ang Rust compiler sa mga build dependencies na ibinibigay. kinakailangan. upang bumuo ng mga pangunahing bahagi ng desktop sa Linux.

Sa wakas, nabanggit na nakabinbin pa rin ang kahilingan na pagsamahin si Rusticl sa Mesa at wala pang desisyon sa pagsasama ng Rust language code sa Mesa, ngunit ito ay inaasahang darating sa Mesa 22.2 release

Ito ang dahilan kung bakit bago tanggapin ang Rusticl sa pangunahing komposisyon ng Mesa, maaaring gumamit ng isang hiwalay na sangay upang bumuo, kapag nag-compile, dapat mong tukuyin ang mga parameter ng build "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =totoo».

Kung ikaw interesadong malaman ang higit pa tungkol dito Tungkol sa bagong detalyeng ito, maaari mong suriin ang mga detalye Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.