Objavljen Vortex 3.0, odprt GPGPU na osnovi arhitekture RISC-V

Na voljo je izid projekta Vortex 3.0, ki razvija odprto GPGPU na osnovi arhitekture niza ukazov RISC-V, zasnovan za izvajanje paralelnih izračunov z uporabo API OpenCL in modela izvajanja SIMT (Single Instruction, Multiple Threads). Projekt se lahko prav tako uporablja pri raziskavah na področju 3D grafike in pri razvoju novih arhitektur GPU. Na voljo so sheme, opisi strojnih blokov v jeziku Verilog, simulator, gonilniki in povezana projektna dokumentacija pod licenco Apache 2.0.

Osnova GPGPU je tipična ISA RISC-V, razširjena z dodatnimi ukazi za podporo funkcijam GPU in upravljanju s tokom. Spremembe v arhitekturi niza ukazov RISC-V so minimizirane in tam, kjer je to mogoče, uporabljajo že obstoječe vektorske ukaze. Med dodatnimi ukazi so: „tex“ za pospešitev obdelave tekstur; vx_rast za upravljanje rasterizacije, vx_rop za obdelavo fragmentov, globine in prosojnosti; vx_imadd za izvedbo operacije „pomnoži in seštej“; vx_wspawn, vx_split, vx_join, vx_tmc in vx_bar za aktivacijo skupin tokov (wavefront), ki jih hkrati izvajajo SIMD Engine.

Razvijajoči GPGPU podpira 32- in 64-bitne arhitekture niza ukazov RISC-V RV32IMF in RV64IMAFD ter lahko vključuje opcijsko deljeno pomnilnik, predpomnilnike ravni L1, L2 in L3, pa tudi prilagodljiv številče jeder, blokov nalog (warps) in tokov. Vsako jedro omogoča vključitev prilagodljivega števila ALU, FPU, LSU in SFU. Za izdelavo prototipov se lahko uporabljajo FPGA Xilinx in Altera, za simulacijo delovanja čipa pa Verilator (Verilog simulator), RTLSIM (simulacija RTL) in SimX (programska simulacija).

Za razvoj aplikacij je na voljo orodje, ki vključuje prilagojene različice PoCL (prevajalnik in runtime OpenCL), LLVM/Clang, GCC in Binutils. Projekt podpira specifikacijo OpenCL 1.2, pri čemer je podpora za vmesno predstavitev senčil SPIR-V implementirana preko prevajanja v OpenCL.

Med spremembami v Vortex 3.0:

  • Dodana je strojna grafična skladba, ki vključuje bloke za rasterizacijo, prekrivanje tekstur in združevanje izhoda (OM — Output Merger). Za Mesa, ki temelji na izvlečeni grafični skladbi in programski rasterizator lavapipe, je pripravljen Vulkan gonilnik vortexpipe.
  • Možnosti tenzorskega jedra, namenjenega pospeševanju izvajanja modelov strojnega učenja, so razširjene, vključno s podporo za strukturirano redčenje (structured sparsity) za stiskanje težnostnih matric.
  • Izvedena je operacija WGMMA (warpgroup-level matrix multiplication) za množenje matric v asinhronem načinu.
  • Dodano je DVX (Data Transfer Acceleration) za pospeševanje prenosa podatkov iz globalnega v lokalni pomnilnik.
  • Izvedena je nova arhitektura na osnovi procesorja ukazov (CP, Command Processor) in strojnega načrtovalnika računalniških jeder (KMU — Kernel Management Unit), ki omogoča prenos operacij usklajevanja računalniških tokov iz čipa.
  • Predlagana je nova runtime knjižnica, ki deluje v neblokirnem načinu in nudi abstrakcije, ki se prevajajo v strojne asinhrono izvajane ukaze. Podprte so vrste, dogodki, moduli in sinhronizacija na osnovi asinhronih mejnikov s semantiko arrive/wait/event.
  • Dodana podpora za skrajšane ukaze RISC-V (RVC).
  • Izvedena je strojna podpora za atomske operacije (Hardware Atomics).
  • FPU je popolnoma predelan in predstavljeni so novi množevalniki (Wallace-tree, Folded-radix) in seštevalniki (Kogge-Stone).
  • Dodana je virtualna pomnilniška struktura na osnovi enote za upravljanje pomnilnika (MMU) s podporo za 32-bitno arhitekturo virtualnega naslavljanja SV32.
  • Podpora za razširitev RISC-V Zicond z implementacijo pogojnih operacij.
  • Integrirano je upravljanje taktne frekvence (clock gating).
  • Izvedena je podpora za jezik HIP (Heterogeneous Interface for Portability) preko ogrodja chipStar, ki prevaja HIP v SPIR-V.
  • Zagotovljena je polna integracija s simulatorjem GEM5 in dodana podpora simulatorju SimX na osnovi arhitekture TLM (Transaction-Level Modeling).
  • Dodana je podpora za orodja Synopsys in Yosys za sintezo logike za proizvodnjo čipov ter podpora za uporabo knjižnic standardnih elementov ASAP7 (7nm), SAED14 (14nm) in NanGate (15nm).
  • Referenčno orodje je posodobljeno na LLVM 20 in POCL 7.0.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster