Mesan ruosteeseen kirjoitettu OpenCL-toteutus on jo läpäissyt CTS-testit

Uusi toteutus OpenCL:stä (rustiikkinen) kehitetty Mesa-projektia varten, kirjoitettu Rustilla, on läpäissyt CTS-testit (Kronos Conformance Test Suite), jota Khronos-konsortio käytti testaamaan yhteensopivuutta OpenCL 3.0 -määritysten kanssa.

Niiden, jotka eivät ole tietoisia »Rusticlista», tulisi tietää, että se on julkaistu nimellä Mesa OpenCL:n uusi toteutus kirjoitettuna ohjelmointikieli Ruoste.

rustiikkinen aloitti tunnettu Mesa-yhteistyökumppani Karol Herbst Red Hatista, joka aloitti NVIDIAn "Nouveau" avoimen lähdekoodin ajurin insinöörinä ollessaan Red Hatissa ja työskenteli Mesan Cloverin IT-tuen ja muiden hankkeiden parissa. Rusticl on Herbstin yritys oppia Rust-ohjelmointikieli ja myös tarjota uusi (ja toivottavasti ylivoimainen) OpenCL-toteutus.

Rusticl on paljon nykyaikaisempi keskittynyt OpenCL:ään verrattuna vanhaan Clover-koodiin, ja se on kuitenkin havaittavissa, että Rusticlilla ei vielä tässä vaiheessa ole OpenCL-kuvatukea, mikä on ollut toinen ongelma Cloverin kanssa.

rustiikkinen luottaa clc:hen kääntääkseen OpenCL-lähdekoodin SPIR-V:hen. Rusticl on myös riippuvainen NIR-yhteensopivista Mesa Gallium3D-ajureista, mutta kaikki suuret ajurit ovat jo niin. On huomattava, että Carol otti yhteyttä Khronosiin saadakseen virallisen sertifikaatin OpenCL 3.0 -yhteensopivuudesta rusticlissa.

Ja nyt rusticl on läpäissyt onnistuneesti Kronos Conformance Test Suiten arvioidakseen yhteensopivuuden OpenCL 3.0 -spesifikaatioiden kanssa, kuten Neil Trevett ilmoitti Twitterissä:

Khronos on ylpeä siitä, että se on luopunut kaikista MESA-käyttömaksuista vuosien varrella, ja monet MESA-toteutukset ovat virallisesti yhteensopivia. Hienoa, että MESA:n OpenCL 3.0 ohittaa CTS:n! Kerro meille, kun MESA on valmis toteuttamaan OCL 3.0 -käyttöönottosopimuksen, niin voimme aloittaa prosessin…

Testaus tehtiin järjestelmällä, jossa oli 12. sukupolven Intel GPU build (Alder Lake), jolla työ tehtiin Iris Mesa -ajurilla, mutta mainitaan, että projektin tulisi toimia muiden Mesa-ajureiden kanssa, jotka käyttävät NIR-shadereiden untyped intermediate (IR) -esitystä.

Rusticl toimii vastineena Mesan OpenCL Clover -rajapinnalle ja on myös kehitetty Mesan Gallium-rajapinnalla. Apila on ollut pitkään laiminlyötyssä tilassa ja rusticl on asetettu sen tilalle tulevaisuudessa. 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ä luodaan 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. Rust-tuen etuina mainitaan ajurien turvallisuuden ja laadun parantaminen poistamalla tyypillisiä muistityöskentelyn ongelmia sekä mahdollisuus ottaa mukaan kehitystyötä. Mesan kolmansien osapuolien, kuten Kazanin (Vulkan-toteutus Rustissa).

Puutteista löytyy muun muassa rakennusjärjestelmän monimutkaisuus, haluttomuus sitoutua hyötykuormapakettijärjestelmään, rakennusympäristön vaatimusten lisääntyminen ja tarve sisällyttää Rust-kääntäjä tarjottuihin koontiriippuvuuksiin. keskeisten työpöytäkomponenttien rakentamiseen Linuxissa.

lopuksi, mainitaan, että pyyntö Rusticlin yhdistämisestä Mesaan on edelleen vireillä eikä Rust-kielikoodin sisällyttämisestä Mesaan ole vielä tehty päätöstä, mutta sen odotetaan saapuvan Mesa 22.2 -julkaisuun

Tästä syystä ennen kuin Rusticl hyväksytään Mesan pääkoostumukseen, voidaan rakentaa erillisellä haaralla, käännösten yhteydessä tulee määrittää koontiparametrit "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm = tosi».

Jos olet kiinnostunut tietämään asiasta lisää tästä uudesta määrityksestä voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.