Les GPU NVIDIA obtenen suport SYCL després que Codeplay contribueixi al desenvolupament de l'estàndard DPC ++

Maquinari / Les GPU NVIDIA obtenen suport SYCL després que Codeplay contribueixi al desenvolupament de l'estàndard DPC ++ 2 minuts de lectura

Nvidia



Després d’aconseguir el suport d’empreses líders com Intel, Xilinx, Renesas i Imagination Technologies, la SYCL (pronunciada com a falç), els desenvolupadors que utilitzin GPU NVIDIA ara també podran obtenir-ne el benefici. Codeplay, l’organització que ha contribuït activament a la comunitat SYCL, ha culminat el desenvolupament avançat de DPC ++ (Data Parallel C ++), que facilita el reciclatge i la reutilització de codi en diverses plataformes de maquinari. El resultat és ComputeCpp, Implementació pròpia de Codeplay de SYCL .

La darrera edició de ComputeCpp ofereix assistència experimental per a GPU NVIDIA que utilitzen OpenCL i PTX de NVIDIA

L’any passat, Intel va fer un pas decisiu per donar un impuls a SYCL i fins i tot va començar a treballar en oneAPI Standard. OneAPI inclou DPC ++ (una implementació de SYCL amb extensions) per a CPU, GPU i FPGA d’Intel. El moviment aviat es va fer força gran i va agafar impuls després que Xilinx, Renesas i Imagination Technologies van donar suport a SYCL. En poques paraules, els desenvolupadors de programari ara poden orientar-se a una àmplia gamma de dispositius mitjançant SYCL.



El ComputeCpp ofereix suport experimental per a GPU NVIDIA mitjançant OpenCL i PTX de NVIDIA. Però DPC ++ (la implementació SYCL d’Intel) ofereix l’oportunitat d’afegir suport complet a les GPU NVIDIA integrades al compilador LLVM sense passar per OpenCL. Codeplay va anunciar que estan obrint la font inicial i experimental de la seva implementació que permet als desenvolupadors de SYCL orientar-se a les GPU NVIDIA. La base de codis per a aquesta implementació es manté a una forquilla separada tant del projecte principal del compilador LLVM com de la branca DPC ++. L'organització va afegir que tenen la intenció de treballar amb Intel per obtenir el suport de GPU NVIDIA afegit al compilador Intel / LLVM de pujada.

Com es poden beneficiar els desenvolupadors del suport SYCL per a les GPU NVIDIA?

Aquest projecte permet als desenvolupadors orientar-se a les GPU NVIDIA mitjançant codi SYCL, sense haver de passar per la capa OpenCL del sistema. En altres paraules, amb només una GPU NVIDIA, els desenvolupadors poden executar DPC ++ al seu sistema per compilar aplicacions SYCL. A més, qualsevol aplicació CUDA existent es pot portar incrementalment a SYCL mitjançant el suport CUDA i, després, executar-la en una plataforma que no tingui CUDA. Això clarament estalvia molt de temps i esforços repetits.

Codeplay ha ofert instruccions sobre el fitxer README del projecte explicant com utilitzar el back-end NVIDIA per a DPC ++. Els desenvolupadors han d’utilitzar algunes marques quan compilen i algun codi per configurar el selector de dispositius per garantir que el temps d’execució sàpiga a quin dispositiu s’ha d’orientar. En particular, la secció “ Creeu una cadena d'eines SYCL amb suport per a NVIDIA CUDA ”I les opcions del compilador Clang tenen instruccions específiques .

Codeplay va confirmar que va executar el projecte amb èxit amb Ubuntu 18.04 mitjançant CUDA 10.1 en una GPU Titan RTX (capacitats de càlcul 7.5). L’equip assegura que també hauria de funcionar en altres versions de Linux amb qualsevol GPU NVIDIA compatible amb SM 5.0 o superior. Tot i això, l'aplicació SYCL compilada només podrà dirigir-se a CUDA o OpenCL, no a tots dos alhora.