Palaksanaan Rust Mesa tina OpenCL ayeuna ngadukung OpenCL 3.0

Palaksanaan OpenCL anyar (rusticl), ditulis dina Rust, keur dimekarkeun pikeun proyék Mesa, geus hasil lulus CTS (Kronos Conformance Test Suite) test suite dipaké ku konsorsium Khronos pikeun assess kasaluyuan jeung spésifikasi OpenCL 3.0. Proyék ieu dikembangkeun ku Karol Herbst ti Red Hat, anu kalibet dina pamekaran Mesa, supir Nouveau sareng tumpukan kabuka OpenCL. Kacatet yén Carol ngahubungi Khronos ngeunaan sertifikasi resmi dukungan OpenCL 3.0 di rusticl.

Tés réngsé dina sistem sareng Intel GPU generasi ka-12 (Alder Lake). Gawéna dilaksanakeun nganggo supir Mesa Iris, tapi proyék éta ogé kedah dianggo sareng supir Mesa sanés anu nganggo perwakilan perantara tanpa tipe (IR) tina shaders NIR. Paménta pikeun ngahijikeun Rusticle sareng Mesa masih ditinjau sareng henteu aya kaputusan ngeunaan naha ngalebetkeun kode Rust di Mesa. Sateuacan Rusticl ditampi kana komposisi Mesa utama, anjeun tiasa nganggo cabang anu misah pikeun ngawangun, nalika nyusun anu anjeun kedah netepkeun parameter ngawangun "-Dgallium-rusticl = leres -Dopencl-spirv = leres -Dshader-cache = leres -Dllvm = leres”.

Rusticle bertindak salaku analog tina OpenCL frontend Clover Mesa sareng ogé dikembangkeun nganggo antarmuka Gallium anu disayogikeun dina Mesa. The Clover stake geus ditinggalkeun pikeun lila sarta rusticl diposisikan salaku gaganti hareup na. Salian achieving OpenCL 3.0 kasaluyuan, proyék Rusticle béda ti Clover dina ngarojong ekstensi OpenCL pikeun ngolah gambar, tapi teu acan ngarojong format FP16.

Pikeun ngahasilkeun bindings pikeun Mesa na OpenCL, ngidinan Anjeun pikeun nelepon fungsi Rust tina kode C jeung sabalikna, karat-bindgen dipaké dina Rusticle. Kamungkinan ngagunakeun basa Rust dina proyék Mesa parantos dibahas saprak 2020. Diantara kaunggulan dukungan Rust, paningkatan kaamanan sareng kualitas supir disebatkeun kusabab ngaleungitkeun masalah umum nalika damel sareng mémori, ogé kamampuan ngalebetkeun pamekaran pihak katilu di Mesa, sapertos Kazan (palaksanaan Vulkan). dina Rust). Kakurangan kaasup ngaronjatna pajeulitna tina sistem ngawangun, hoream pikeun dihijikeun kana sistem pakét kargo, sarat dimekarkeun pikeun lingkungan ngawangun, sarta kudu ngawengku kompiler Rust dina dependensi ngawangun diperlukeun pikeun ngawangun komponén desktop konci dina Linux.

sumber: opennet.ru

Tambahkeun komentar