NVIDIA GPU'er får SYCL-support efter codeplay bidrager til udvikling af DPC ++ Standard

Hardware / NVIDIA GPU'er får SYCL-support efter codeplay bidrager til udvikling af DPC ++ Standard 2 minutter læst

Nvidia



Efter at have fået støtte fra førende virksomheder som Intel, Xilinx, Renesas og Imagination Technologies, SYCL (udtalt 'segl'), vil udviklerne, der bruger NVIDIA GPU'er, nu også kunne få fordelen. Codeplay, den organisation, der standhaftigt har været en aktiv bidragyder til SYCL-samfundet, har nu kulmineret den avancerede udvikling af DPC ++ (Data Parallel C ++), som faciliterer genbrug og genbrug af kode på tværs af flere hardware-platforme. Resultatet er ComputeCpp, Codeplay's egen implementering af SYCL .

ComputeCpps seneste udgave tilbyder eksperimentel support til NVIDIA GPU'er, der bruger OpenCL og NVIDIAs PTX

Sidste år tog Intel et afgørende skridt for at give et skub til SYCL og begyndte endda at arbejde på oneAPI Standard. OneAPI inkluderer DPC ++ (en implementering af SYCL med udvidelser) til Intels CPU'er, GPU'er og FPGA'er. Bevægelsen blev hurtigt ret stor og fik fart efter støtte til SYCL kom ind fra Xilinx, Renesas og Imagination Technologies. Kort sagt, softwareudviklere er nu i stand til at målrette mod en bred vifte af enheder ved hjælp af SYCL.



ComputeCpp tilbyder eksperimentel support til NVIDIA GPU'er ved hjælp af OpenCL og NVIDIAs PTX. Men DPC ++ (Intels SYCL-implementering) giver mulighed for at tilføje fuld support til NVIDIA GPU'er integreret i LLVM-kompilatoren uden at gå gennem OpenCL. Codeplay meddelte, at de åbner for den indledende, eksperimentelle fase af deres implementering, der gør det muligt for SYCL-udviklere at målrette mod NVIDIA GPU'er. Kodebasen til denne implementering forbliver i en separat gaffel fra både det vigtigste LLVM-compilerprojekt og DPC ++ -grenen. Organisationen tilføjede, at de agter at arbejde sammen med Intel for at få NVIDIA GPU-understøttelse føjet til upstream Intel / LLVM-kompilatoren.

Hvordan kan udviklere drage fordel af SYCL-support til NVIDIA GPU'er?

Dette projekt gør det muligt for udviklere at målrette mod NVIDIA GPU'er ved hjælp af SYCL-kode uden at skulle gå gennem OpenCL-laget i systemet. Med andre ord, med kun en NVIDIA GPU, kan udviklere køre DPC ++ på deres system for at kompilere SYCL-applikationer. Desuden kan enhver eksisterende CUDA-applikation gradvis overføres til SYCL ved hjælp af CUDA-supporten og derefter køre den på en platform, der ikke har CUDA. Dette sparer tydeligvis meget tid og gentagne bestræbelser.

Codeplay har tilbudt instruktioner til projektet README-filen, der forklarer, hvordan man bruger NVIDIA-backend til DPC ++. Udviklere er forpligtet til at bruge nogle flag, når de kompileres, og nogle kode for at indstille deres enhedsvælger for at sikre, at runtime ved, hvilken enhed de skal målrette mod. Især afsnittet “ Byg SYCL-værktøjskæde med support til NVIDIA CUDA ”Og Clang-kompilatorindstillingerne har specifikke instruktioner .

Codeplay bekræftede, at de med succes kørte projektet med Ubuntu 18.04 ved hjælp af CUDA 10.1 på en Titan RTX GPU (beregningsfunktioner 7.5). Holdet forsikrer, at det også skal arbejde på andre Linux-versioner med enhver NVIDIA GPU, der er kompatibel med SM 5.0 eller nyere. Imidlertid vil den kompilerede SYCL-applikation kun være i stand til enten at målrette mod CUDA eller OpenCL, ikke begge på samme tid.