Los Mesa-projektin kehittäjät ilmoittivat rusticl-ohjaimen sertifioinnista Khronos-järjestön toimesta, jokaläpäisi kaikki CTS-testit onnistuneesti (Kronos Conformance Test Suite) ja se tunnustettiin täysin yhteensopivaksi OpenCL 3.0 -spesifikaatioiden kanssa, jotka määrittelevät C-kielen sovellusliittymät ja laajennukset eri alustojen välisen rinnakkaislaskennan järjestämiseksi.
Tämän avulla on voitu hankkia sertifikaatti, jonka avulla voidaan virallisesti todeta yhteensopivuus standardien kanssa ja käyttää niihin liittyviä Khronos-tavaramerkkejä.
Ajuri on kirjoitettu Rust-kielellä ja sen on kehittänyt Red Hatin Karol Herbst, joka on mukana Mesan, Nouveau-ohjaimen ja avoimen OpenCL-pinon kehittämisessä.
Rusticl läpäisee kaikki CTS-testit
Rusticl on juuri tullut Mesan ensimmäinen Rust-koodi, jossa OpenCL-toteutus yhdistettiin äskettäin Mesa 22.3 -julkaisuun, ja on huomattava, että testaus suoritettiin järjestelmässä, jossa oli integroitu 12. sukupolven Intel GPU käyttämällä Gallium3D Iris -ohjainta.
Niiden, jotka eivät ole tietoisia ohjaimesta, Rusticlin pitäisi tietää tämä toimii vastineena Mesan OpenCL Clover -käyttöliittymälle ja se on myös kehitetty Mesan Gallium-rajapinnalla. Apila on pitkään laiminlyöty, ja rustikli on asetettu sen tulevaksi korvaajaksi. OpenCL 3.0 -yhteensopivuuden lisäksi Rusticl-projekti eroaa Cloverista siinä, että se tukee OpenCL-laajennuksia kuvankäsittelyyn, mutta ei vielä tue FP16-muotoa.
Rusticl käyttää rust-bindgeniä luomaan Mesalle ja OpenCL:lle sidoksia, jotka mahdollistavat Rust-funktioiden kutsumisen C-koodista ja päinvastoin. Rust-kielen käyttömahdollisuudesta Mesa-projektissa on keskusteltu vuodesta 2020 lähtien.
keskuudessa Rust-tuen eduista mainitaan ajurien turvallisuuden ja laadun parantaminen poistamalla muistin kanssa työskennellyt tyypilliset ongelmat sekä Mahdollisuus sisällyttää kolmannen osapuolen kehitystyöt Mesaan, kuten Kazan (Vulkan in Rust -toteutus). Puutteita ovat muun muassa rakennusjärjestelmän monimutkaisuus, haluttomuus linkittää latauspakettijärjestelmään, rakennusympäristön vaatimusten lisääntyminen ja tarve sisällyttää Rust-kääntäjä koontiriippuvuuksiin, joita tarvitaan avaimen rakentamiseen. työpöytäkomponentit Linuxissa.
Koodi, joka tukee Rust-kieltä ja rusticl-ohjain on hyväksytty valtavirran Mesaan ja se tarjotaan Mesa 22.3 -julkaisussa, jonka odotetaan olevan marraskuun lopussa. Rust- ja Rusticl-tuki poistetaan oletusarvoisesti käytöstä, ja se vaatii käännöksen eksplisiittisillä vaihtoehdoilla "-D gallium-rusticl=true -Dllvm=käytössä -Drust_std=2021".
Käännöstyössä rustc-kääntäjä, bindgen, LLVM, SPIRV-Tools ja SPIRV-LLVM-Translator vaaditaan lisäriippuvuuksina.
On mainittava, että hänOpenCL 3.0 API kattaa kaikki OpenCL-versiot (1.2, 2.x) ilman erillisiä määrityksiä jokaiselle versiolle. OpenCL 3.0 tarjoaa mahdollisuuden laajentaa ydintoimintoja integroimalla lisämäärityksiä, jotka ovat päällekkäisiä vaihtoehtojen muodossa estämättä OpenCL 1.2/2.X:n monoliittisuutta.
Lisäksi erittely OpenCL 3.0 on mukautettu ympäristöön, laajennuksiin ja spesifikaatioihin yleinen väliesitys SPIR-V, se myös käyttää Vulkan API:ta. Sen myötä SPIR-V 1.3 -spesifikaatioiden tuki on myös lisätty OpenCL 3.0 -ytimeen valinnaisena ominaisuutena. Käyttämällä SPIR-V-väliesitystä laskennallisille ytimille on lisätty tuki aliryhmien kanssa tehtävälle toiminnalle.
Lopuksi on syytä huomioida myös Carol Herbstin tekemä Nouveau-ohjaimen kehitystyö. Nouveau-ohjain lisää perus OpenGL-tuen GNU NVIDIA GeForce RTX 30xx:lle, joka perustuu Ampere-mikroarkkitehtuuriin, joka on julkaistu toukokuussa 2020. Uuteen sirutukeen liittyvät muutokset sisällytetään Linux 6.2- ja Mesa 22.3 -ytimeen.
Jos olet kiinnostunut tietämään siitä lisää, voit tutustua yksityiskohtiin Seuraavassa linkissä.