GPU NVIDIA získají podporu SYCL poté, co Codeplay přispěje k vývoji standardu DPC ++

Hardware / GPU NVIDIA získají podporu SYCL poté, co Codeplay přispěje k vývoji standardu DPC ++ 2 minuty čtení

Nvidia



Po získání podpory od předních společností, jako jsou Intel, Xilinx, Renesas a Imagination Technologies, SYCL (vyslovuje se jako „srp“), budou nyní moci tuto výhodu získat i vývojáři využívající GPU NVIDIA. Codeplay, organizace, která vytrvale aktivně přispívá ke komunitě SYCL, nyní vyvrcholila pokročilým vývojem DPC ++ (Data Parallel C ++), který umožňuje recyklaci a opětovné použití kódu napříč několika hardwarovými platformami. Výsledkem je ComputeCpp, Codeplay vlastní implementace SYCL .

Nejnovější vydání ComputeCpp nabízí experimentální podporu pro GPU NVIDIA pomocí OpenCL a NVIDIA PTX

V loňském roce společnost Intel učinila rozhodující krok, aby podpořila SYCL, a dokonce začala pracovat na standardu oneAPI. OneAPI zahrnuje DPC ++ (implementace SYCL s rozšířením) pro CPU, GPU a FPGA od Intelu. Pohyb se brzy stal docela velkým a nabral na obrátkách poté, co přišla podpora pro SYCL od Xilinx, Renesas a Imagination Technologies. Jednoduše řečeno, vývojáři softwaru jsou nyní schopni pomocí SYCL cílit na širokou škálu zařízení.



ComputeCpp nabízí experimentální podporu pro GPU NVIDIA pomocí OpenCL a NVIDIA PTX. Ale DPC ++ (implementace Intel SYCL) nabízí příležitost přidat plnou podporu pro NVIDIA GPU integrované do kompilátoru LLVM, aniž byste museli procházet OpenCL. Codeplay oznámil, že otevírá počáteční experimentální fázi své implementace, která vývojářům SYCL umožňuje cílit na GPU NVIDIA. Codebase pro tuto implementaci zůstává v samostatná vidlice z hlavního projektu kompilátoru LLVM a větve DPC ++. Organizace dodala, že mají v úmyslu spolupracovat s Intelem na přidání podpory NVIDIA GPU do předcházejícího kompilátoru Intel / LLVM.

Jak mohou vývojáři těžit z podpory SYCL pro GPU NVIDIA?

Tento projekt umožňuje vývojářům cílit na GPU NVIDIA pomocí kódu SYCL, aniž by bylo nutné procházet vrstvou OpenCL v systému. Jinými slovy, pouze s grafickým procesorem NVIDIA mohou vývojáři ve svém systému spouštět DPC ++ a kompilovat aplikace SYCL. Libovolnou existující aplikaci CUDA lze navíc postupně přenést do SYCL pomocí podpory CUDA a poté ji spustit na platformě, která CUDA nemá. To jasně šetří spoustu času a opakovaného úsilí.

Codeplay nabídl pokyny k souboru README projektu vysvětlující, jak používat back-end NVIDIA pro DPC ++. Vývojáři jsou povinni při kompilaci použít některé příznaky a nějaký kód k nastavení selektoru zařízení, aby bylo zajištěno, že modul runtime ví, na které zařízení má cílit. Zejména část „ Sestavte nástrojový řetězec SYCL s podporou NVIDIA CUDA “A možnosti kompilátoru Clang mají konkrétní pokyny .

Codeplay potvrdil, že úspěšně spustili projekt s Ubuntu 18.04 pomocí CUDA 10.1 na GPU Titan RTX (výpočetní schopnosti 7.5). Tým zajišťuje, že by měl fungovat i na jiných verzích Linuxu s jakýmkoli grafickým procesorem NVIDIA kompatibilním se SM 5.0 nebo novějším. Zkompilovaná aplikace SYCL však bude moci cílit pouze na CUDA nebo OpenCL, nikoli na obě současně.