Vortex 3.0 on avaldanud avatud GPGPU, mis põhineb RISC-V arhitektuuril.

Välja on antud projekt Vortex 3.0, mis arendab avatud GPGPU, mis põhineb RISC-V käsu arhitektuuril, ja mis on mõeldud paralleelsete arvutuste teostamiseks, kasutades API-d OpenCL ja SIMT (Single Instruction, Multiple Threads) täitmise mudelit. Projekti saab kasutada ka 3D-graafika uurimistöödes ja uute GPU arhitektuuride väljatöötamisel. Scheemid, riistvarablokkide kirjeldused Verilog keeles, simulaator, draiverid ja projektiga seotud dokumentatsioon jagatakse Apache 2.0 litsentsi alusel.

GPGPU aluseks on tüüpiline RISC-V ISA, millele on lisatud täiendavad käsklused GPU funktsioonide ja töövoogude haldamise toetamiseks. Muudatused RISC-V käsu arhitektuuris on minimaalsetena ja, kui võimalik, kasutatakse juba olemasolevaid vektorilisi käske. Täiendavate käskluste hulka kuuluvad: "tex" tekstuuride töötlemise kiirendamiseks; vx_rast rasteriseerimise haldamiseks, vx_rop fragmente, sügavust ja läbipaistvust töötlemiseks; vx_imadd "korruta ja liida" operatsiooni teostamiseks; vx_wspawn, vx_split, vx_join, vx_tmc ja vx_bar lõimegruppide (wavefront) aktiveerimiseks, mida teostatakse paralleelselt SIMD mootoris.

Arendatav GPGPU toetab RISC-V RV32IMF ja RV64IMAFD käsu arhitektuure, mis võivad sisaldada valikulist jagatud mälu, L1, L2 ja L3 taseme puhverdatud mälu, samuti konfigureeritavat arvu tuumade, plokkide (warps) ja lõimeline. Iga tuuma puhul on võimalik aktiveerida konfigureeritav arv ALU, FPU, LSU ja SFU-d. Prototüüpe saab luua Xilinx ja Altera FPGA-de abil ning kiibi töö simuleerimiseks saab kasutada Verilatori (Verilog simulaator), RTLSIM-i (RTL simulatsioon) ja SimX-i (tarkvara simuleerimine).

Rakenduste arendamiseks pakutakse tööriistakomplekti, mis sisaldab Vortexiga töötamiseks kohandatud versioone PoCL (OpenCL kompilaator ja runtime), LLVM/Clang, GCC ja Binutils. Projekt toetab OpenCL 1.2 spetsifikatsiooni ja shaderite vahepealse esindamise SPIR-V toetamine on teostatud OpenCL-i kaudu ülekandmise teel.

Vortex 3.0 muudatuste seas:

  • Lisatud on riistvaraline graafikustakk, mis sisaldab plokke rasteriseerimiseks, tekstuuride kattmiseks ja väljundi sulandamiseks (OM - Output Merger). Mesa baasil rakendatud graafikustaki ja tarkvaralise rasteriseerija lavapipe jaoks on ette valmistatud Vulkan-draiver vortexpipe.
  • Tensori tuuma võimalusi on laiendatud, et kiirendada masinõppe mudelite täitmist, mis toetab struktuurset hõredust (structured sparsity) kaalumatriitide tihendamiseks.
  • Rakendatud on WGMMA (warpgroup-level matrix multiplication) operatsioon asünkroonses režiimis matriitside korrutamiseks.
  • Lisatud on DXA (Data Transfer Acceleration) mootor andmete edastamise kiirendamiseks globaalsetest kohalikeks mäludeks.
  • Uuendatud on arhitektuuri, mis põhineb käsklusprotsessoril (CP, Command Processor) ja riistvaralisel arvutusühtuse halduril (KMU — Kernel Management Unit), mis võimaldab väljastada kiipi poolelt arvutusvoogude haldamise operatsioone.
  • Ehk on ette pandud uus runtime-bibliodeek, mis töötab mitteblokeerivas režiimis ja pakub abstraktsioone, mis tõlgitakse riistvaraliselt asünkroonselt täidetavatesse käsklustesse. Toetatakse järjekordi, sündmusi, mooduleid ja sünkroniseerimist asünkroonsete barjääride põhjal semantikaga arrive/wait/event.
  • Lisatud on RISC-V lühendatud käskude (RVC) tugi.
  • Tehtud on riistvaraline tugi aatomaarvutuste jaoks (Hardware Atomics).
  • Töötati täielikult ümber FPU ja pakuti uusi korrutamisplokke (Wallace-tree, Folded-radix) ja summaatoreid (Kogge-Stone).
  • Lisatud on virtuaalse mälu mälu juhtimise ploki (MMU) alus, toetades 32-bitise SV32 virtuaalse aadressitavuse arhitektuuri.
  • Toetatakse RISC-V laiendust Zicond, koos tingimuslike operatsioonide teostamisega.
  • Integreeritud on taktsageduse juhtimine (clock gating).
  • Edasiselt on toetatud HIP (Heterogeneous Interface for Portability) keele tuge chipStar raamistikus, mis tõlgib HIP-i SPIR-V-ks.
  • Tagatud on täiendav integreerimine GEM5 simulaatoriga ja lisatud on SimX simulaatori tugi TLM (Transaction-Level Modeling) arhitektuuril.
  • Lisatud on Synopsysi ja Yosysi tööriistade tugi loogika sünteesimiseks kiipide tootmiseks, samuti tugi standardelementide teekide nagu ASAP7 (7nm), SAED14 (14nm) ja NanGate (15nm) kasutamiseks.
  • Standardse tööriista komplekt on uuendatud versioonile LLVM 20 ja POCL 7.0.

Allikas: opennet.ru

Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster