Ang pagpatuman sa Rust sa Mesa sa OpenCL karon nagsuporta sa OpenCL 3.0

Ang bag-ong implementasyon sa OpenCL (rusticl), nga gisulat sa Rust, nga gihimo alang sa proyekto sa Mesa, malampuson nga nakapasar sa CTS (Kronos Conformance Test Suite) test suite nga gigamit sa Khronos consortium aron masusi ang pagkaangay sa mga detalye sa OpenCL 3.0. Ang proyekto gipalambo ni Karol Herbst gikan sa Red Hat, kinsa nalambigit sa pagpalambo sa Mesa, ang Nouveau driver ug ang OpenCL open stack. Namatikdan nga gikontak ni Carol si Khronos bahin sa opisyal nga sertipikasyon sa suporta sa OpenCL 3.0 sa rusticl.

Nakompleto ang mga pagsulay sa usa ka sistema nga adunay ika-12 nga henerasyon nga Intel GPU (Alder Lake). Ang trabaho gihimo gamit ang Mesa Iris nga drayber, apan ang proyekto kinahanglan usab nga magtrabaho uban sa ubang mga drayber sa Mesa nga naggamit sa walay tipo nga intermediate representation (IR) sa NIR shaders. Ang hangyo sa paghiusa sa Rusticle sa Mesa gisusi pa ug wala’y desisyon nga nahimo kung ilakip ba ang Rust code sa Mesa. Sa dili pa dawaton ang Rusticl sa nag-unang komposisyon sa Mesa, mahimo nimong gamiton ang usa ka bulag nga sanga alang sa pagtukod, kung mag-compile kung diin kinahanglan nimong ipiho ang mga parameter sa pagtukod "-Dgallium-rusticl = tinuod -Dopencl-spirv = tinuod -Dshader-cache = tinuod -Dllvm = tinuod”.

Ang Rusticle naglihok isip analogue sa OpenCL frontend Clover sa Mesa ug gipalambo usab gamit ang interface sa Gallium nga gihatag sa Mesa. Ang Clover stake dugay nang giabandonar ug ang rusticl gipahimutang isip umaabot nga kapuli niini. Dugang sa pagkab-ot sa OpenCL 3.0 compatibility, ang Rusticle project lahi sa Clover sa pagsuporta sa OpenCL extensions para sa image processing, pero wala pa nagsuporta sa FP16 format.

Aron makamugna og mga binding alang sa Mesa ug OpenCL, nga nagtugot kanimo sa pagtawag sa Rust function gikan sa C code ug vice versa, ang rust-bindgen gigamit sa Rusticle. Ang posibilidad sa paggamit sa Rust nga lengguwahe sa proyekto sa Mesa gihisgutan sukad sa 2020. Lakip sa mga bentaha sa suporta sa Rust, ang dugang nga seguridad ug kalidad sa mga drayber gihisgutan tungod sa pagkuha sa kasagaran nga mga problema sa pagtrabaho uban ang panumduman, ingon man usab ang abilidad sa paglakip sa mga pag-uswag sa ikatulo nga partido sa Mesa, sama sa Kazan (usa ka pagpatuman sa Vulkan). sa Rust). Ang mga disbentaha naglakip sa dugang nga pagkakomplikado sa sistema sa pagtukod, pagduha-duha nga mahigot sa sistema sa pakete sa kargamento, gipalapdan nga mga kinahanglanon alang sa pagtukod sa palibot, ug ang panginahanglan nga ilakip ang Rust compiler sa mga dependency sa pagtukod nga gikinahanglan aron magtukod mga yawe nga sangkap sa desktop sa Linux.

Source: opennet.ru

Idugang sa usa ka comment