Khronos ilmoitti OpenCL 3.0: sta ja nämä ovat huomattavampia ominaisuuksia

Khronos-huoli, joka on vastuussa OpenGL-, Vulkan- ja OpenCL-perheen eritelmien kehittämisestä, ilmoitti OpenCL 3.0 -määritysten kehittämisen loppuunsaattamisesta jotka määrittelevät sovellusliittymät ja C-kielilaajennukset monialustaisen rinnakkaislaskennan järjestämiseksi moniytimisten suorittimien, grafiikkasuoritinten, FPGA: iden, DSP: iden ja muiden erikoistuneiden sirujen avulla.

Nämä ovat käytetään supertietokoneista ja pilvipalvelimista siruihin että löytyy mobiililaitteissa ja sulautetussa tekniikassa. OpenCL-standardi on täysin avoin. Yritykset, kuten IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments ja Toshiba, osallistuivat standardin työhön.

Eritelmän nykyisessä vaiheessa tila on väliaikainen, mikä tarkoittaa tarkennuksen mahdollisuutta GitHubin kautta lähetettyjen kommenttien perusteella. Kun kommentit on otettu huomioon, tekniset tiedot saavat lopullisen tilan ja lopullinen testipaketti julkaistaan ​​nykyisten toteutusten yhteensopivuuden tarkistamiseksi.

OpenCL 3.0 -ominaisuudet

OpenCL 3.0 -sovellusliittymä kattaa nyt kaikki OpenCL-versiot (1.2, 2.x) toimittamatta erillisiä eritelmiä kullekin versiolle. OpenCL 3.0 tarjoaa mahdollisuuden laajentaa perustoimintoja integroimalla lisäominaisuudet, joka järjestetään vaihtoehtojen muodossa estämättä OpenCL 1.2 / 2.X: n monoliittista luonnetta.

Ainoastaan ​​OpenCL 1.2: n mukaiset toiminnot julistetaan pakollisiksi ja kaikki teknisten ominaisuuksien ominaisuudet OpenCL 2.x luokitellaan valinnaisiksi. Tämä lähestymistapa yksinkertaistaa erikoistuneiden OpenCL 3.0 -yhteensopivien toteutusten luomista ja laajentaa niiden laitteiden valikoimaa, joissa OpenCL 3.0: ta voidaan käyttää.

Esimerkiksi valmistajat voivat toteuttaa tuen OpenCL 3.0: lle ymmärtämättä OpenCL 2.x: n yksittäisiä ominaisuuksia. Jos haluat käyttää valinnaisia ​​kieliominaisuuksia, OpenCL 3.0 lisää testikyselyjärjestelmän, jonka avulla voit arvioida tukea yksittäisille API-elementeille sekä erityisille makroille.

Yhdistäminen eritelmien kanssa aiemmin julkaistu helpottaa sovellusten siirtämistä OpenCL 3.0: een. OpenCL 1.2 -sovellukset voivat ajaa laitteissa, jotka tukevat OpenCL 3.0: ta ilman muutoksia. OpenCL 2.x -sovellukset eivät myöskään vaadi koodimuutoksia, mutta jos OpenCL 3.0 -ympäristö tarjoaa tarvittavat toiminnot (siirrettävyyden varmistamiseksi tulevaisuudessa, on suositeltavaa, että OpenCL 2.x -sovellukset lisäävät testikyselyjä arvioidakseen yhteensopivuutta openCL 2: n kanssa. x käytettyä toimintoa).

Ohjaimen kehittäjät OpenCL-toteutuksilla he voivat päivittää tuotteitaan helposti OpenCL 3.0: ksi, lisäämällä vain pyyntöjen käsittely tiettyjen API-puhelujen läsnäoloa varten ja lisäämällä toimintoja vähitellen ajan myötä.

OpenCL 3.0 -määritys on yhdenmukainen - ympäristö, laajennukset ja SPIR-V Universal Intermediate View, joka käyttää myös Vulkan-sovellusliittymää. SPIR-V 1.3 -määrityksen tuki sisältyy OpenCL 3.0 -ydin valinnainen ominaisuus. Käyttämällä SPIR-V-väliesitystä laskentaytimille on lisätty tuki alaryhmien kanssa tehtäville operaatioille.

Lisätty tuki asynkronisten DMA-operaatioiden laajennukselle, yhteensopiva DSP: n kaltaisten sirujen kanssa, joilla on suora pääsy muistiin. Asynkronisen DMA: n avulla voit käyttää DMA-tapahtumia tietojen siirtämiseen globaalin ja paikallisen muistin välillä asynkronisesti suoritettujen laskelmien tai muiden tiedonsiirtotoimintojen kanssa.

C: n rinnakkaisohjelmointilaajennusten eritelmä on päivitetty versioon 3.0 ja OpenCL-kielilaajennusten kehittäminen C ++ lopetettiin C ++ for OpenCL -projektin hyväksi.

C ++ for OpenCL on Clang / LLVM-pohjainen kääntäjä joka muuntaa C ++ - ja OpenCL C -ydimet väli SPIR-V-esitykseksi tai matalan tason konekoodiksi. Käännöksen avulla SPIR-V: hen C ++ -sovellusten kokoaminen järjestetään myös SYCL-mallikirjaston avulla, mikä yksinkertaistaa rinnakkaisten sovellusten luomista.

OpenCL: n kääntämiseksi Vulkan-sovellusliittymän kautta ehdotetaan clspv-kääntäjää, joka muuntaa OpenCL-ytimet Vulkan SPIR-V -näkymäksi ja clvk-kerroksen, jotta OpenCL-sovellusliittymä voi toimia Vulkanin päällä.

lähde: https://www.khronos.org


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.