GPU-urile NVIDIA beneficiază de asistență SYCL după ce Codeplay contribuie la dezvoltarea standardului DPC ++

Hardware / GPU-urile NVIDIA beneficiază de asistență SYCL după ce Codeplay contribuie la dezvoltarea standardului DPC ++ 2 minute citite

Nvidia



După ce au obținut sprijin de la companii de renume precum Intel, Xilinx, Renesas și Imagination Technologies, SYCL (pronunțat „secera”), dezvoltatorii care utilizează GPU-uri NVIDIA vor putea acum să câștige și beneficiul. Codeplay, organizația care a contribuit în mod constant la comunitatea SYCL, a culminat acum cu dezvoltarea avansată a DPC ++ (Data Parallel C ++), care facilitează reciclarea și refolosirea codului pe mai multe platforme hardware. Rezultatul este ComputeCpp, Implementarea SYCL de către Codeplay .

Ultima ediție a ComputeCpp oferă suport experimental pentru GPU-urile NVIDIA care utilizează OpenCL și PTX-ul NVIDIA

Anul trecut, Intel a făcut un pas decisiv pentru a da un impuls SYCL și chiar a început să lucreze la oneAPI Standard. OneAPI include DPC ++ (o implementare a SYCL cu extensii) pentru procesoarele Intel, GPU-urile și FPGA-urile. Mișcarea a devenit în curând destul de mare și a luat avânt după ce a venit sprijinul pentru SYCL de la Xilinx, Renesas și Imagination Technologies. Pur și simplu, dezvoltatorii de software sunt acum capabili să vizeze o gamă largă de dispozitive folosind SYCL.



ComputeCpp oferă suport experimental pentru GPU-urile NVIDIA folosind OpenCL și PTX-ul NVIDIA. Dar DPC ++ (implementarea SYCL a Intel) oferă posibilitatea de a adăuga suport complet pentru GPU-urile NVIDIA integrate în compilatorul LLVM fără a trece prin OpenCL. Codeplay a anunțat că furnizează open-source prima fază experimentală a implementării lor, care permite dezvoltatorilor SYCL să vizeze GPU-urile NVIDIA. Baza de cod pentru această implementare rămâne în o furculiță separată atât din proiectul principal al compilatorului LLVM, cât și din ramura DPC ++. Organizația a adăugat că intenționează să colaboreze cu Intel pentru a obține suportul GPU NVIDIA adăugat la compilatorul din amonte Intel / LLVM.

Cum pot beneficia dezvoltatorii de asistența SYCL pentru GPU-urile NVIDIA?

Acest proiect permite dezvoltatorilor să vizeze GPU-urile NVIDIA folosind codul SYCL, fără a fi nevoie să treacă prin stratul OpenCL din sistem. Cu alte cuvinte, doar cu un GPU NVIDIA, dezvoltatorii pot rula DPC ++ pe sistemul lor pentru a compila aplicații SYCL. Mai mult, orice aplicație CUDA existentă poate fi portată în mod incremental către SYCL folosind suportul CUDA și apoi rulați-o pe o platformă care nu are CUDA. Acest lucru salvează în mod clar mult timp și eforturi repetate.

Codeplay a oferit instrucțiuni despre fișierul README al proiectului, explicând modul de utilizare a back-end-ului NVIDIA pentru DPC ++. Dezvoltatorii trebuie să utilizeze unele semnalizatoare atunci când compilează și un anumit cod pentru a configura selectorul de dispozitive pentru a se asigura că timpul de execuție știe ce dispozitiv să vizeze. În special, secțiunea „ Construiți SYCL toolchain cu suport pentru NVIDIA CUDA ”Și opțiunile de compilare Clang au instrucțiuni specifice .

Codeplay a confirmat că au rulat cu succes proiectul cu Ubuntu 18.04 folosind CUDA 10.1 pe o GPU Titan RTX (capacități de calcul 7.5). Echipa se asigură că ar trebui să funcționeze și pe alte versiuni Linux cu orice GPU NVIDIA compatibil cu SM 5.0 sau o versiune ulterioară. Cu toate acestea, aplicația SYCL compilată va putea viza fie CUDA, fie OpenCL, nu ambele în același timp.