NVIDIA-näytönohjaimet saavat SYCL-tuen, kun koodinpeli on myötävaikuttanut DPC ++ -standardin kehittämiseen

Laitteisto / NVIDIA-näytönohjaimet saavat SYCL-tuen, kun koodinpeli on myötävaikuttanut DPC ++ -standardin kehittämiseen 2 minuuttia luettu

Nvidia



Saatuaan tukea johtavilta yrityksiltä, ​​kuten Intel, Xilinx, Renesas ja Imagination Technologies, SYCL (lausutaan sirpiksi), NVIDIA-näytönohjaimia käyttävät kehittäjät voivat nyt hyötyä myös siitä. Codeplay, organisaatio, joka on vakaasti ollut aktiivinen osallistuja SYCL-yhteisöön, on nyt huipentunut DPC ++: n (Data Parallel C ++) kehittyneeseen kehitykseen, joka tarjoaa mahdollisuuden kierrättää ja käyttää koodia uudelleen useilla laitteistoalustoilla. Tuloksena on ComputeCpp, Codeplayn oma SYCL-toteutus .

ComputeCpp's Latest Edition tarjoaa kokeellista tukea NVIDIA-näytönohjaimille, jotka käyttävät OpenCL: ää ja NVIDIA: n PTX: ää

Viime vuonna Intel otti ratkaisevan askeleen antaakseen sysäyksen SYCL: lle ja aloitti jopa yhden API-standardin kehittämisen. OneAPI sisältää DPC ++: n (SYCL: n toteutus laajennuksilla) Intelin suorittimille, GPU: ille ja FPGA: lle. Liikkeestä tuli pian melko iso ja vauhdittunut sen jälkeen, kun Xilinx, Renesas ja Imagination Technologies antoivat tukea SYCL: lle. Yksinkertaisesti sanottuna ohjelmistokehittäjät voivat nyt kohdistaa monenlaisiin laitteisiin SYCL: n avulla.

ComputeCpp tarjoaa kokeellista tukea NVIDIA-näytönohjaimille, jotka käyttävät OpenCL: ää ja NVIDIA: n PTX: ää. Mutta DPC ++ (Intelin SYCL-toteutus) tarjoaa mahdollisuuden lisätä täyttä tukea LLVM-kääntäjään integroiduille NVIDIA-näytönohjaimille käymättä OpenCL: ää. Codeplay ilmoitti hankkivansa avoimen lähdekoodin käyttöönotonsa ensimmäisestä kokeellisesta vaiheesta, jonka avulla SYCL-kehittäjät voivat kohdistaa NVIDIA-näytönohjaimiin. Tämän toteutuksen koodipohja pysyy erillinen haarukka sekä LLVM-kääntäjän pääprojektista että DPC ++ -haarasta. Organisaatio lisäsi, että he aikovat työskennellä Intelin kanssa saadakseen NVIDIA-näytönohjaimen tuen ylävirran Intel / LLVM-kääntäjään.

Kuinka kehittäjät voivat hyötyä NVIDIA-näytönohjainten SYCL-tuesta?

Tämän projektin avulla kehittäjät voivat kohdistaa NVIDIA-näytönohjaimia SYCL-koodia käyttämättä järjestelmän OpenCL-tasoa. Toisin sanoen, pelkällä NVIDIA-näytönohjaimella kehittäjät voivat käyttää järjestelmässään DPC ++ -sovellusta SYCL-sovellusten kokoamiseksi. Lisäksi kaikki olemassa olevat CUDA-sovellukset voidaan siirtää asteittain SYCL: ään CUDA-tuen avulla ja sitten suorittaa ne alustalla, jolla ei ole CUDA: ta. Tämä säästää selvästi paljon aikaa ja toistuvia ponnisteluja.

Codeplay on tarjonnut ohjeet projektin README-tiedostoon, jossa kerrotaan, kuinka NVIDIA-käyttöjärjestelmää käytetään DPC ++ -sovellukseen. Kehittäjien on käytettävä joitain lippuja käännettäessä ja jotakin koodia laitevalitsimen asettamiseen varmistaakseen, että ajonaika tietää, mihin laitteeseen kohdistetaan. Erityisesti osiossa “ Rakenna SYCL-työkaluketju NVIDIA CUDA: n tuella ”Ja Clang-kääntäjän vaihtoehdoilla on erityiset ohjeet .

Codeplay vahvisti, että he suorittivat projektin onnistuneesti Ubuntu 18.04: llä käyttäen CUDA 10.1: ää Titan RTX GPU: lla (laskentatoiminnot 7.5). Tiimi vakuuttaa, että sen pitäisi toimia myös muilla Linux-versioilla, joissa on mikä tahansa NVIDIA-näytönohjain, joka on yhteensopiva SM 5.0: n tai uudemman kanssa. Käännetty SYCL-sovellus pystyy kuitenkin kohdistamaan vain joko CUDA: n tai OpenCL: n, ei molempiin samanaikaisesti.