NVIDIA GPU-ovi dobivaju SYCL podršku nakon što Codeplay doprinosi razvoju DPC ++ standarda

Hardver / NVIDIA GPU-ovi dobivaju SYCL podršku nakon što Codeplay doprinosi razvoju DPC ++ standarda 2 minute čitanja

Nvidia



Nakon što su stekli podršku vodećih tvrtki poput Intel, Xilinx, Renesas i Imagination Technologies, SYCL (izgovara se kao 'srp'), programeri koji koriste NVIDIA GPU-ove sada će moći dobiti i tu korist. Codeplay, organizacija koja je neprekidno aktivno sudjelovala u zajednici SYCL, sada je kulminirala naprednim razvojem DPC ++ (Data Parallel C ++), koji omogućuje recikliranje i ponovnu upotrebu koda na nekoliko hardverskih platformi. Rezultat je ComputeCpp, Codeplay-ova vlastita implementacija SYCL-a .

ComputeCpp-ovo najnovije izdanje nudi eksperimentalnu podršku za NVIDIA GPU-ove koji koriste OpenCL i NVIDIA-in PTX

Prošle je godine Intel poduzeo odlučujući korak kako bi dao poticaj SYCL-u, pa je čak počeo raditi i na oneAPI Standard. OneAPI uključuje DPC ++ (implementacija SYCL-a s proširenjima) za Intelove CPU-ove, GPU-ove i FPGA-e. Pokret je ubrzo postao prilično velik i dobio zamah nakon što je podrška za SYCL stigla od Xilinxa, Renesasa i Imagination Technologies. Jednostavno rečeno, programeri softvera sada mogu ciljati širok raspon uređaja pomoću SYCL-a.



ComputeCpp nudi eksperimentalnu podršku za NVIDIA GPU-ove koji koriste OpenCL i NVIDIA-in PTX. Ali DPC ++ (Intelova implementacija SYCL) nudi mogućnost dodavanja pune podrške za NVIDIA GPU integrirane u LLVM kompajler bez prolaska kroz OpenCL. Codeplay je najavio da otvaraju izvornu početnu, eksperimentalnu fazu njihove implementacije koja omogućava programerima SYCL-a da ciljaju NVIDIA GPU-ove. Baza koda za ovu implementaciju ostaje u zasebna vilica i iz glavnog projekta kompajlera LLVM-a i iz grane DPC ++. Organizacija je dodala da namjeravaju surađivati ​​s Intelom kako bi NVIDIA GPU podrška dodana uzlaznom Intel / LLVM kompajleru.

Kako programeri mogu imati koristi od SYCL podrške za NVIDIA grafičke procesore?

Ovaj projekt omogućuje programerima da ciljaju NVIDIA GPU-ove pomoću SYCL koda, bez prolaska kroz OpenCL sloj u sustavu. Drugim riječima, sa samo NVIDIA GPU, programeri mogu pokrenuti DPC ++ na svom sustavu za kompajliranje SYCL aplikacija. Štoviše, bilo koja postojeća CUDA aplikacija može se postupno prenijeti na SYCL pomoću CUDA podrške, a zatim pokrenuti na platformi koja nema CUDA. To očito štedi puno vremena i ponovljenih napora.

Codeplay je ponudio upute o datoteci README projekta koje objašnjavaju kako koristiti NVIDIA pozadinu za DPC ++. Programeri moraju koristiti neke zastavice prilikom sastavljanja i neki kôd za postavljanje birača uređaja kako bi osigurali da vrijeme izvođenja zna koji će uređaj ciljati. Konkretno, odjeljak „ Izradite SYCL lanac alata s podrškom za NVIDIA CUDA ”I mogućnosti kompajlera Clang imaju određene upute .

Codeplay je potvrdio da su projekt uspješno pokrenuli s Ubuntuom 18.04 koristeći CUDA 10.1 na Titan RTX GPU-u (računske mogućnosti 7,5). Tim osigurava da bi trebao raditi i na drugim verzijama Linuxa s bilo kojim NVIDIA GPU-om kompatibilnim sa SM 5.0 ili novijim. Međutim, kompilirana SYCL aplikacija moći će ciljati samo CUDA ili OpenCL, a ne oboje istovremeno.