Odprtokodni gonilnik Rusticle je certificirano združljiv z OpenCL 3.0

Razvijalci projekta Mesa so objavili certifikacijo gonilnika rusticl s strani organizacije Khronos, ki je uspešno prestal vse teste iz nabora CTS (Kronos Conformance Test Suite) in je prepoznan kot popolnoma združljiv s specifikacijo OpenCL 3.0, ki definira API-je in razširitve jezika C za organizacijo medplatformskega vzporednega računalništva. Pridobitev certifikata vam omogoča uradno izjavo o skladnosti s standardi in uporabo povezanih blagovnih znamk Khronos. Preizkus je bil izveden na sistemu z 12-generacijskimi integriranimi grafičnimi procesorji Intel z uporabo gonilnika Gallium3D Iris.

Gonilnik je napisan v Rustu, razvil pa ga je Karol Herbst iz Red Hat, ki sodeluje pri razvoju Mesa, gonilnika Nouveau in odprtega sklada OpenCL. Rusticle deluje kot analog Mesinega vmesnika OpenCL Clover in je prav tako razvit z uporabo vmesnika Gallium, ki je na voljo v Mesi. Clover je že dolgo opuščen in rustikl se postavlja kot njegova prihodnja zamenjava. Poleg doseganja združljivosti z OpenCL 3.0 se projekt Rusticle od Cloverja razlikuje po podpori razširitev OpenCL za obdelavo slik, vendar še ne podpira formata FP16. Za ustvarjanje vezav za Mesa in OpenCL, ki vam omogočajo klicanje funkcij Rust iz kode C in obratno, se v Rusticlu uporablja rust-bindgen.

Podporna koda za jezik Rust in gonilnik rusticl sta bila sprejeta v mainstream Mesa in bosta na voljo v izdaji Mesa 22.3, predvidoma konec novembra. Podpora za Rust in rusticl bo privzeto onemogočena in bo zahtevala gradnjo z izrecno določenimi možnostmi »-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021«. Pri gradnji boste kot dodatne odvisnosti potrebovali prevajalnik rustc, generator povezovanja bindgen, LLVM, SPIRV-Tools in SPIRV-LLVM-Translator.

O možnosti uporabe jezika Rust v projektu Mesa se razpravlja že od leta 2020. Med prednostmi podpore za Rust je omenjena povečana varnost in kakovost gonilnikov zaradi odpravljanja tipičnih težav pri delu s pomnilnikom, pa tudi možnost vključitve razvoja tretjih oseb v Meso, kot je Kazan (izvedba Vulkana). v Rustu). Slabosti vključujejo povečano kompleksnost sistema gradnje, nepripravljenost na povezavo s sistemom tovornih paketov, razširjene zahteve za gradbeno okolje in potrebo po vključitvi prevajalnika Rust v gradbene odvisnosti, potrebne za gradnjo ključnih komponent namizja v Linuxu.

Poleg tega lahko opazimo delo na razvoju gonilnika Nouveau, ki ga je prav tako opravila Carol Herbst. Gonilnik Nouveau je dodal osnovno podporo OpenGL za GNU NVIDIA GeForce RTX 30xx, ki temelji na mikroarhitekturi Ampere, izdani od maja 2020. Spremembe v zvezi s podporo za nove čipe bodo vključene v jedro Linux 6.2 in Mesa 22.3.

Vir: opennet.ru

Dodaj komentar