Bol zverejnený Vortex 3.0, open source GPGPU založený na architektúre RISC-V

Projekt Vortex 3.0, ktorý vyvíja open-source GPGPU založený na architektúre inštrukčnej sady RISC-V a je určený pre paralelné výpočty s použitím rozhrania OpenCL API a modelu vykonávania SIMT (Single Instruction, Multiple Threads), je teraz k dispozícii. Projekt možno použiť aj na výskum 3D grafiky a vývoj nových architektúr GPU. Schémy, popisy hardvérových blokov vo Verilogu, simulátor, ovládače a sprievodná návrhová dokumentácia sú distribuované pod licenciou Apache 2.0.

GPGPU je založené na štandardnom RISC-V ISA, rozšírenom o ďalšie inštrukcie na podporu funkcií GPU a správy vlákien. Zmeny v architektúre inštrukčnej sady RISC-V sú minimalizované a existujúce vektorové inštrukcie sa používajú vždy, keď je to možné. Medzi ďalšie inštrukcie patria: „tex“ na urýchlenie spracovania textúr; vx_rast na riadenie rasterizácie; vx_rop na spracovanie fragmentov, hĺbky a priehľadnosti; vx_imadd na operácie násobenia a sčítania; vx_wspawn, vx_split, vx_join, vx_tmc a vx_bar na aktiváciu skupín vlákien (vlnofrontov) vykonávaných paralelne enginom SIMD.

Vyvíjaný GPGPU podporuje 32- a 64-bitové architektúry inštrukčných sád RISC-V RV32IMF a RV64IMAFD a môže obsahovať voliteľnú zdieľanú pamäť, vyrovnávacie pamäte L1, L2 a L3 a konfigurovateľný počet jadier, warpov a vlákien. Každé jadro môže tiež obsahovať konfigurovateľný počet ALU, FPU, LSU a SFU. Na prototypovanie je možné použiť FPGA od Xilinx a Altera a na simuláciu čipov je možné použiť Verilator (simulátor Verilog), RTLSIM (simulácia RTL) a SimX (softvérová simulácia).

Pre vývoj aplikácií je ponúkaná sada nástrojov vrátane verzií PoCL (kompilátor a runtime OpenCL) adaptovaných pre Vortex, LLVM/Clang, GCC a Binutils. Projekt podporuje špecifikáciu OpenCL 1.2 a implementuje podporu pre medziľahlú reprezentáciu shaderov SPIR-V prostredníctvom prekladu do OpenCL.

Zmeny vo Vortex 3.0 zahŕňajú:

  • Bol pridaný hardvérový grafický stack vrátane blokov pre rasterizáciu, mapovanie textúr a zlučovanie výstupov (OM). Pre Mesa bol vyvinutý ovládač Vulkan s názvom Vortexpipe, založený na implementovanom grafickom stacku a softvérovom rasterizátore lavapipe.
  • Možnosti Tensor Core, určeného na urýchlenie vykonávania modelov strojového učenia, boli rozšírené o implementáciu podpory pre štruktúrovanú riedkosť pre kompresiu váhových matíc.
  • Pre násobenie matíc v asynchrónnom režime bola implementovaná operácia WGMMA (násobenie matíc na úrovni warpgroup).
  • Pridaný engine DXA (Data Transfer Acceleration) na zrýchlenie prenosu dát z globálnej do lokálnej pamäte.
  • Bola implementovaná nová architektúra založená na procesore príkazov (CP) a hardvérovom plánovači výpočtových jadier (KMU - Kernel Management Unit), ktorá umožňuje dispečing výpočtových vlákien na stranu čipu.
  • Navrhuje sa nová behová knižnica, ktorá pracuje v neblokujúcom režime a poskytuje abstrakcie, ktoré sa prekladajú do asynchrónne vykonávaných hardvérových príkazov. Podporované sú fronty, udalosti, moduly a synchronizácia založená na asynchrónnych bariérach so sémantikou príchod/čakanie/udalosť.
  • Pridaná podpora pre skrátené inštrukcie RISC-V (RVC).
  • Bola implementovaná hardvérová podpora pre atomické operácie (Hardware Atomics).
  • FPU bol kompletne prepracovaný a boli zavedené nové bloky multiplikátora (Wallaceov strom, zložený radix) a sčítačky (Kogge-Stone).
  • Pridaný zásobník virtuálnej pamäte založený na jednotke správy pamäte (MMU) s podporou 32-bitovej architektúry virtuálneho adresovania SV32.
  • Podpora pre rozšírenie RISC-V Zicond s implementáciou podmienených operácií.
  • Integrované hradlovanie hodín.
  • Podpora jazyka HIP (Heterogeneous Interface for Portability) bola implementovaná prostredníctvom frameworku chipStar, ktorý prekladá HIP do SPIR-V.
  • Bola zabezpečená plná integrácia so simulátorom GEM5 a bola pridaná podpora pre simulátor SimX na architektúre TLM (Transaction-Level Modeling).
  • Pridaná podpora pre sady nástrojov Synopsys a Yosys na logickú syntézu pre výrobu čipov, ako aj podpora pre používanie knižníc štandardných prvkov ASAP7 (7nm), SAED14 (14nm) a NanGate (15nm).
  • Referenčný nástrojový reťazec bol aktualizovaný na LLVM 20 a POCL 7.0.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster