GPU NVIDIA získajú podporu SYCL po tom, čo Codeplay prispeje k vývoju štandardu DPC ++

Hardware / GPU NVIDIA získajú podporu SYCL po tom, čo Codeplay prispeje k vývoju štandardu DPC ++ 2 minúty prečítané

Nvidia



Po získaní podpory od popredných spoločností, ako sú Intel, Xilinx, Renesas a Imagination Technologies, SYCL (vyslovuje sa ako „kosák“), budú môcť teraz využívať výhody aj vývojári používajúci grafické karty NVIDIA. Codeplay, organizácia, ktorá stabilne aktívne prispieva do komunity SYCL, teraz zavŕšila pokročilý vývoj DPC ++ (Data Parallel C ++), ktorý umožňuje recykláciu a opätovné použitie kódu na niekoľkých hardvérových platformách. Výsledkom je ComputeCpp, Codeplay je vlastná implementácia SYCL .

Posledné vydanie ComputeCpp ponúka experimentálnu podporu pre GPU NVIDIA pomocou OpenCL a NVIDIA PTX

V minulom roku spoločnosť Intel urobila rozhodujúci krok, ktorý podnietil podporu SYCL, a dokonca začal pracovať na štandarde oneAPI. OneAPI obsahuje DPC ++ (implementácia SYCL s rozšíreniami) pre CPU, GPU a FPGA spoločnosti Intel. Hnutie sa čoskoro stalo pomerne veľkým a nabralo na obrátkach po tom, čo podpora pre SYCL prišla od spoločností Xilinx, Renesas a Imagination Technologies. Jednoducho povedané, vývojári softvéru sú teraz schopní pomocou SYCL zacieliť na širokú škálu zariadení.



ComputeCpp ponúka experimentálnu podporu pre NVIDIA GPU pomocou OpenCL a NVIDIA PTX. Ale DPC ++ (implementácia Intel SYCL) ponúka príležitosť pridať plnú podporu pre NVIDIA GPU integrované do kompilátora LLVM bez nutnosti použitia OpenCL. Codeplay oznámil, že realizuje počiatočnú experimentálnu fázu ich implementácie, ktorá umožňuje vývojárom SYCL zamerať sa na GPU NVIDIA. Základný kód pre túto implementáciu zostáva v samostatná vidlica z hlavného projektu kompilátora LLVM aj z pobočky DPC ++. Organizácia dodala, že majú v úmysle spolupracovať so spoločnosťou Intel na tom, aby sa podpora NVIDIA GPU pridala k predchádzajúcemu kompilátoru Intel / LLVM.

Ako môžu vývojári ťažiť z podpory SYCL pre GPU NVIDIA?

Tento projekt umožňuje vývojárom zamerať sa na GPU NVIDIA pomocou kódu SYCL bez toho, aby museli prechádzať vrstvou OpenCL v systéme. Inými slovami, iba s grafickým procesorom NVIDIA môžu vývojári vo svojom systéme spúšťať program DPC ++ na kompiláciu aplikácií SYCL. Akákoľvek existujúca aplikácia CUDA môže byť navyše postupne prenesená do SYCL pomocou podpory CUDA a potom ju spustiť na platforme, ktorá CUDA nemá. To jednoznačne šetrí veľa času a opakovaného úsilia.

Spoločnosť Codeplay ponúkla pokyny k súboru README projektu, v ktorých vysvetľuje, ako používať back-end NVIDIA pre DPC ++. Od vývojárov sa vyžaduje, aby pri kompilácii používali niektoré príznaky a určitý kód na nastavenie selektora zariadenia, aby bolo zaistené, že modul runtime vie, na ktoré zariadenie sa má zamerať. Najmä časť „ Vytvárajte reťazec nástrojov SYCL s podporou NVIDIA CUDA ”A možnosti kompilátora Clang majú konkrétne pokyny .

Codeplay potvrdil, že projekt úspešne spustili s Ubuntu 18.04 pomocou CUDA 10.1 na GPU Titan RTX (výpočtové schopnosti 7.5). Tím zaručuje, že by mal fungovať aj na iných verziách systému Linux s akýmkoľvek grafickým procesorom NVIDIA kompatibilným s SM 5.0 alebo novším. Zkompilovaná aplikácia SYCL však bude môcť zacieliť iba na CUDA alebo OpenCL, nie na obe súčasne.