Grafični procesorji NVIDIA dobijo podporo SYCL, potem ko predvajanje kode prispeva k razvoju standarda DPC ++

Strojna oprema / Grafični procesorji NVIDIA dobijo podporo SYCL, potem ko predvajanje kode prispeva k razvoju standarda DPC ++ 2 minuti branja

Nvidia



Po pridobitvi podpore vodilnih podjetij, kot so Intel, Xilinx, Renesas in Imagination Technologies, SYCL (izgovarja se 'srp'), bodo razvijalci, ki uporabljajo grafične procesorje NVIDIA, zdaj lahko tudi koristili. Codeplay, organizacija, ki je nenehno dejavno prispevala k skupnosti SYCL, je zdaj dosegla vrhunec naprednega razvoja DPC ++ (Data Parallel C ++), ki omogoča recikliranje in ponovno uporabo kode na več strojnih platformah. Rezultat je ComputeCpp, Codeplay lastna izvedba SYCL .

Najnovejša izdaja ComputeCpp ponuja eksperimentalno podporo za grafične procesorje NVIDIA z uporabo OpenCL in NVIDIA PTX

Lani je Intel z odločnim korakom spodbudil SYCL in začel celo delati na enem API Standard. OneAPI vključuje DPC ++ (izvedba SYCL z razširitvami) za Intelove CPU-je, GPU-je in FPGA-je. Gibanje je kmalu postalo precej veliko in je dobilo zagon, potem ko so podporo za SYCL prejeli Xilinx, Renesas in Imagination Technologies. Preprosto povedano, razvijalci programske opreme lahko zdaj ciljajo na široko paleto naprav s pomočjo SYCL.



ComputeCpp ponuja eksperimentalno podporo za grafične procesorje NVIDIA z uporabo OpenCL in NVIDIA-jevega PTX-a. Toda DPC ++ (Intelova implementacija SYCL) ponuja priložnost, da dodate popolno podporo za grafične procesorje NVIDIA, integrirane v prevajalnik LLVM, ne da bi šli skozi OpenCL. Codeplay je sporočil, da odpirajo začetno, poskusno fazo njihove izvedbe, ki razvijalcem SYCL omogoča ciljanje na grafične procesorje NVIDIA. Baza kod za to izvedbo ostane v ločene vilice tako iz glavnega projekta prevajalnika LLVM kot iz podružnice DPC ++. Organizacija je dodala, da nameravajo z Intelom sodelovati, da bodo NVIDIA GPU podpori dodali v zgornji prevajalnik Intel / LLVM.

Kako lahko razvijalci izkoristijo podporo SYCL za grafične procesorje NVIDIA?

Ta projekt razvijalcem omogoča ciljanje grafičnih procesorjev NVIDIA z uporabo kode SYCL, ne da bi morali iti skozi plast OpenCL v sistemu. Z drugimi besedami, s samo NVIDIA GPU lahko razvijalci na svojem sistemu zaženejo DPC ++ za sestavljanje aplikacij SYCL. Poleg tega je mogoče katero koli obstoječo aplikacijo CUDA postopoma prenesti na SYCL s podporo za CUDA in jo nato zagnati na platformi, ki nima CUDA. To očitno prihrani veliko časa in večkratnih prizadevanj.

Codeplay je ponudil navodila za datoteko README projekta, v katerih je razloženo, kako uporabljati zaledje NVIDIA za DPC ++. Razvijalci morajo pri sestavljanju uporabljati nekatere zastavice in nekaj kode za nastavitev izbirnika naprav, da zagotovijo, da izvajalno okolje ve, na katero napravo ciljati. Oddelek „ Zgradite orodno verigo SYCL s podporo za NVIDIA CUDA 'In možnosti prevajalnika Clang imajo posebna navodila .

V Codeplayu so potrdili, da so projekt uspešno izvedli z Ubuntu 18.04 z uporabo CUDA 10.1 na grafičnem procesorju Titan RTX (računske zmogljivosti 7,5). Skupina zagotavlja, da bi morala delati tudi na drugih različicah Linuxa s katerim koli NVIDIA GPU, združljivim s sistemom SM 5.0 ali novejšim. Sestavljena aplikacija SYCL pa bo lahko ciljala samo na CUDA ali OpenCL, ne na obe hkrati.