Ang Rusticle open source nga drayber gipamatud-an nga compatible sa OpenCL 3.0

Gipahibalo sa mga nag-develop sa proyekto sa Mesa ang sertipikasyon sa Khronos nga organisasyon sa rusticl driver, nga malampuson nga nakapasar sa tanan nga mga pagsulay gikan sa set sa CTS (Kronos Conformance Test Suite) ug giila nga hingpit nga nahiuyon sa detalye sa OpenCL 3.0, nga naghubit sa mga API ug mga extension sa C nga pinulongan alang sa pag-organisar sa cross-platform parallel computing. Ang pag-angkon og usa ka sertipiko nagtugot kanimo sa opisyal nga pagdeklarar sa pagsunod sa mga sumbanan ug paggamit sa mga kaubang Khronos nga marka sa pamatigayon. Ang pagsulay gihimo sa usa ka sistema nga adunay 12-generation integrated Intel GPUs gamit ang Gallium3D Iris driver.

Ang drayber gisulat sa Rust ug gimugna ni Karol Herbst gikan sa Red Hat, kinsa nalambigit sa pagpalambo sa Mesa, ang Nouveau nga drayber ug ang OpenCL open stack. 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 dugay na nga gibiyaan 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 mosuporta 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 Rust language support code ug ang rusticl driver gidawat na sa Mesa mainstream ug itanyag sa Mesa 22.3 release, gilauman sa ulahing bahin sa Nobyembre. Ang suporta sa Rust ug rusticl ma-disable pinaagi sa default ug magkinahanglan usa ka pagtukod nga adunay "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" nga mga kapilian nga klaro nga gipiho. Kung magtukod, kinahanglan nimo ang rustc compiler, bindgen binding generator, LLVM, SPIRV-Tools, ug SPIRV-LLVM-Translator isip dugang mga dependency.

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 pagtangtang sa kasagaran nga mga problema kung nagtrabaho uban ang panumduman, ingon man ang abilidad nga ilakip ang 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.

Dugang pa, mahimo natong timan-an ang trabaho sa pagpalambo sa drayber sa Nouveau, nga gihimo usab ni Carol Herbst. Ang drayber sa Nouveau nagdugang sukaranan nga suporta sa OpenGL alang sa GNU NVIDIA GeForce RTX 30xx base sa Ampere microarchitecture, gipagawas sukad Mayo 2020. Ang mga pagbag-o nga may kalabutan sa suporta alang sa bag-ong mga chips ilakip sa Linux 6.2 kernel ug Mesa 22.3.

Source: opennet.ru

Idugang sa usa ka comment