Vortex — GPGPU deschis bazat pe arhitectura RISC-V, compatibil cu OpenCL

Un grup de cercetători de la Institutul Tehnologic Georgia dezvoltă proiectul de cercetare Vortex, care oferă un GPGPU deschis bazat pe arhitectura setului de instrucțiuni RISC-V, destinat realizării calculilor paralele utilizând API OpenCL și modelul de execuție SIMT (Single Instruction, Multiple Threads), precum și desfășurării de studii în domeniul graficii 3D și dezvoltării de noi arhitecturi GPU. Proiectul se află în prezent într-o etapă prototip, funcționând cu ajutorul FPGA. Schemele, descrierile blocurilor hardware în limbaj Verilog, simulatorul, driverele și documentația de proiect asociată sunt distribuite sub licența BSD.

În forma sa actuală, se oferă un ISA standard RISC-V, extins cu câteva instrucțiuni suplimentare necesare pentru a suporta funcțiile GPU și gestionarea threading-ului. La dezvoltarea sa, autorii proiectului au încercat să minimizeze modificările în arhitectura setului de instrucțiuni RISC-V, utilizând, în măsura în care a fost posibil, instrucțiunile vectoriale existente. O abordare similară este utilizată și în proiectul RV64X, care dezvoltă, de asemenea, un GPU deschis bazat pe tehnologiile RISC-V.

Vortex - GPGPU deschis bazat pe arhitectura RISC-V, compatibil cu OpenCL

Capacitățile Vortex în procesarea graficii sunt în prezent limitate. Există declarații privind implementarea suportului OpenGL ES pe baza Vortex, dar în GPU este implementată doar instrucțiunea „tex” pentru accelerarea procesării texturilor, care este realizată la nivelul shader-ului de fragment. Rasterizatorul încorporat lipsește — toată procesarea operațiunilor geometrice se face pe CPU-ul sistemic, iar primitivele de bază pentru puncte, linii și triunghiuri, precum și procesarea fragmentelor, adâncimii și transparenței, sunt realizate folosind nucleul OpenCL.

Vortex - GPGPU deschis bazat pe arhitectura RISC-V, compatibil cu OpenCL

În viitor, se preconizează implementarea de extensii ISA specifice pentru procesarea grafică, adăugarea suportului pentru API CUDA și Vulkan, precum și extensii pentru accelerarea sistemelor de învățare automată și analiza datelor. Pentru dezvoltarea aplicațiilor se propune un toolkit care include variante PoCL adaptate pentru a funcționa cu Vortex (compilatorul și runtime-ul OpenCL), LLVM/Clang, GCC și Binutils. Este suportată simularea funcționării cipului folosind Verilator (simulator Verilog) și SimX (simulare software).

Vortex - GPGPU deschis bazat pe arhitectura RISC-V, compatibil cu OpenCL

Caracteristicile principale ale Vortex:

  • Suport pentru arhitectura setului de instrucțiuni RISC-V RV32IMF.
  • Scalarea cipului la 64 de nuclee cu cache-uri opționale L2 și L3.
  • Fiecare nucleu poate executa 1024 de thread-uri și funcționează la o frecvență de 250 MHz.
  • Puterea de calcul maximă este estimată la 128 Gflops, iar lățimea de bandă a memoriei la 16 GB/s. O implementare cu 32 de nuclee, funcționând la 200 MHz, bazată pe FPGA Altera Stratix 10, a demonstrat o performanță de 25.6 GFlops.
  • Suport pentru standardul OpenCL 1.2.
  • Posibilitate de implementare pe baza FPGA Intel Arria 10 și Intel Stratix 10.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster