Az NVIDIA GPU-k SYCL-támogatást kapnak, miután a játékmenet hozzájárul a DPC ++ szabvány fejlesztéséhez

Hardver / Az NVIDIA GPU-k SYCL-támogatást kapnak, miután a játékmenet hozzájárul a DPC ++ szabvány fejlesztéséhez 2 perc olvasás

Nvidia



Miután támogatást nyertek olyan vezető vállalatoktól, mint az Intel, a Xilinx, a Renesas és az Imagination Technologies, a SYCL (ejtsd: „sarló”), az NVIDIA GPU-kat használó fejlesztők mostantól hasznot is húzhatnak. A Codeplay, az a szervezet, amely szilárdan aktívan hozzájárult a SYCL közösséghez, most megdöntötte a DPC ++ (Data Parallel C ++) fejlett fejlesztését, amely számos hardverplatformon újrahasznosítja és újrafelhasználja a kódot. Az eredmény a ComputeCpp, A Codeplay SYCL saját megvalósítása .

A ComputeCpp legújabb verziója kísérleti támogatást kínál az OpenCL-t és az NVIDIA PTX-jét használó NVIDIA GPU-khoz.

Tavaly az Intel határozott lépést tett, hogy lökést adjon a SYCL-nek, és elkezdett dolgozni az oneAPI Standardon is. Az oneAPI tartalmazza a DPC ++ -ot (az SYCL megvalósítása kiterjesztésekkel) az Intel processzoraihoz, GPU-jához és FPGA-jához. A mozgalom hamarosan elég nagy lett és lendületet kapott, miután a Xilinx, a Renesas és az Imagination Technologies támogatást nyújtott a SYCL számára. Egyszerűen fogalmazva, a szoftverfejlesztők mostantól sokféle eszközt tudnak megcélozni az SYCL segítségével.



A ComputeCpp kísérleti támogatást kínál az NVIDIA GPU-k számára, amelyek OpenCL-t és az NVIDIA PTX-jét használják. De a DPC ++ (az Intel SYCL megvalósítása) lehetőséget kínál az LLVM fordítóba integrált NVIDIA GPU-k teljes támogatásához, anélkül, hogy át kellene menni az OpenCL-en. A Codeplay bejelentette, hogy nyílt forráskódúak bevezetésük kezdeti, kísérleti szakaszában, amely lehetővé teszi az SYCL fejlesztők számára, hogy megcélozzák az NVIDIA GPU-kat. A megvalósítás kódbázisa benne marad külön villa az LLVM fordító fő projektjéből és a DPC ++ ágból egyaránt. A szervezet hozzátette, hogy együttműködni kívánnak az Intelrel az NVIDIA GPU támogatás hozzáadásával az upstream Intel / LLVM fordítóhoz.

Hogyan profitálhatnak a fejlesztők az NVIDIA GPU-k SYCL támogatásából?

Ez a projekt lehetővé teszi a fejlesztők számára, hogy az NVIDIA GPU-kat SYCL kód segítségével célozzák meg anélkül, hogy át kellene menniük a rendszer OpenCL rétegén. Más szavakkal, csak egy NVIDIA GPU-val a fejlesztők a rendszerükön futtathatják a DPC ++ szoftvert az SYCL alkalmazások összeállításához. Ezenkívül bármely létező CUDA-alkalmazás a CUDA-támogatás segítségével fokozatosan portolható az SYCL-be, majd egy olyan platformon futtatható, amely nem rendelkezik CUDA-val. Ez egyértelműen sok időt és ismételt erőfeszítéseket takarít meg.

A Codeplay utasításokat kínált a projekt README fájljára, amely elmagyarázza, hogyan kell használni az NVIDIA háttérképet a DPC ++ rendszerhez. A fejlesztőknek bizonyos jelzőket kell használniuk a fordításkor, és néhány kódot az eszközválasztójuk beállításához, hogy a futásidő tudja, hogy melyik eszközt célozzák meg. Különösen a „ Készítsen SYCL eszköztáncot az NVIDIA CUDA támogatásával ”És a Clang fordító opcióival rendelkezik konkrét utasításokat .

A Codeplay megerősítette, hogy sikeresen futtatták a projektet az Ubuntu 18.04 segítségével a CUDA 10.1 használatával egy Titan RTX GPU-n (számítási képességek 7.5). A csapat biztosítja, hogy más Linux verziókon is működnie kell, bármelyik NVIDIA GPU-val, amely kompatibilis az SM 5.0 vagy újabb verzióval. Az összeállított SYCL alkalmazás azonban csak a CUDA-t vagy az OpenCL-t tudja megcélozni, mindkettőt nem egyszerre.