Nvidia
După ce au obținut sprijin de la companii de renume precum Intel, Xilinx, Renesas și Imagination Technologies, SYCL (pronunțat „secera”), dezvoltatorii care utilizează GPU-uri NVIDIA vor putea acum să câștige și beneficiul. Codeplay, organizația care a contribuit în mod constant la comunitatea SYCL, a culminat acum cu dezvoltarea avansată a DPC ++ (Data Parallel C ++), care facilitează reciclarea și refolosirea codului pe mai multe platforme hardware. Rezultatul este ComputeCpp, Implementarea SYCL de către Codeplay .
Ultima ediție a ComputeCpp oferă suport experimental pentru GPU-urile NVIDIA care utilizează OpenCL și PTX-ul NVIDIA
Anul trecut, Intel a făcut un pas decisiv pentru a da un impuls SYCL și chiar a început să lucreze la oneAPI Standard. OneAPI include DPC ++ (o implementare a SYCL cu extensii) pentru procesoarele Intel, GPU-urile și FPGA-urile. Mișcarea a devenit în curând destul de mare și a luat avânt după ce a venit sprijinul pentru SYCL de la Xilinx, Renesas și Imagination Technologies. Pur și simplu, dezvoltatorii de software sunt acum capabili să vizeze o gamă largă de dispozitive folosind SYCL.
Lucrăm pentru a oferi suport deplin pentru GPU-urile NVIDIA dezvoltatorilor SYCL integrați în proiectul open source DPC ++. Aflați cum puteți încerca astăzi. https://t.co/RJoruLg8ae #sycl pic.twitter.com/4o07O9iNQW
- Software Codeplay (@codeplaysoft) 3 februarie 2020
ComputeCpp oferă suport experimental pentru GPU-urile NVIDIA folosind OpenCL și PTX-ul NVIDIA. Dar DPC ++ (implementarea SYCL a Intel) oferă posibilitatea de a adăuga suport complet pentru GPU-urile NVIDIA integrate în compilatorul LLVM fără a trece prin OpenCL. Codeplay a anunțat că furnizează open-source prima fază experimentală a implementării lor, care permite dezvoltatorilor SYCL să vizeze GPU-urile NVIDIA. Baza de cod pentru această implementare rămâne în o furculiță separată atât din proiectul principal al compilatorului LLVM, cât și din ramura DPC ++. Organizația a adăugat că intenționează să colaboreze cu Intel pentru a obține suportul GPU NVIDIA adăugat la compilatorul din amonte Intel / LLVM.
Cum pot beneficia dezvoltatorii de asistența SYCL pentru GPU-urile NVIDIA?
Acest proiect permite dezvoltatorilor să vizeze GPU-urile NVIDIA folosind codul SYCL, fără a fi nevoie să treacă prin stratul OpenCL din sistem. Cu alte cuvinte, doar cu un GPU NVIDIA, dezvoltatorii pot rula DPC ++ pe sistemul lor pentru a compila aplicații SYCL. Mai mult, orice aplicație CUDA existentă poate fi portată în mod incremental către SYCL folosind suportul CUDA și apoi rulați-o pe o platformă care nu are CUDA. Acest lucru salvează în mod clar mult timp și eforturi repetate.
Soluția Codeplay SYCL 1.2.1 oferă o alternativă deschisă la CUDA https://t.co/hFqhaglfZQ #HPC pic.twitter.com/myDbUAeQwW
- insideHPC.com (@insideHPC) 20 octombrie 2019
Codeplay a oferit instrucțiuni despre fișierul README al proiectului, explicând modul de utilizare a back-end-ului NVIDIA pentru DPC ++. Dezvoltatorii trebuie să utilizeze unele semnalizatoare atunci când compilează și un anumit cod pentru a configura selectorul de dispozitive pentru a se asigura că timpul de execuție știe ce dispozitiv să vizeze. În special, secțiunea „ Construiți SYCL toolchain cu suport pentru NVIDIA CUDA ”Și opțiunile de compilare Clang au instrucțiuni specifice .
Codeplay a confirmat că au rulat cu succes proiectul cu Ubuntu 18.04 folosind CUDA 10.1 pe o GPU Titan RTX (capacități de calcul 7.5). Echipa se asigură că ar trebui să funcționeze și pe alte versiuni Linux cu orice GPU NVIDIA compatibil cu SM 5.0 sau o versiune ulterioară. Cu toate acestea, aplicația SYCL compilată va putea viza fie CUDA, fie OpenCL, nu ambele în același timp.
=>
„Aducerea suportului GPU NVIDIA dezvoltatorilor SYCL