Objavljen je Vortex 3.0, GPGPU otvorenog koda baziran na RISC-V arhitekturi

Projekt Vortex 3.0, koji razvija GPGPU otvorenog koda zasnovan na arhitekturi skupa instrukcija RISC-V i dizajniran je za paralelno računanje korištenjem OpenCL API-ja i SIMT (Single Instruction, Multiple Threads) modela izvršavanja, sada je dostupan. Projekt se također može koristiti za istraživanje 3D grafike i razvoj novih GPU arhitektura. Sheme, opisi hardverskih blokova u Verilogu, simulator, drajveri i prateća dokumentacija dizajna distribuiraju se pod Apache 2.0 licencom.

GPGPU je zasnovan na standardnom RISC-V ISA, proširenom dodatnim instrukcijama za podršku GPU funkcijama i upravljanju nitima. Promjene u arhitekturi RISC-V skupa instrukcija su svedene na minimum, a postojeće vektorske instrukcije se koriste kad god je to moguće. Dodatne instrukcije uključuju: "tex" za ubrzavanje obrade tekstura; vx_rast za kontrolu rasterizacije; vx_rop za obradu fragmenata, dubine i transparentnosti; vx_imadd za operacije množenja i sabiranja; vx_wspawn, vx_split, vx_join, vx_tmc i vx_bar za aktiviranje grupa niti (talasnih frontova) koje SIMD Engine izvršava paralelno.

GPGPU koji se razvija podržava 32- i 64-bitne RISC-V RV32IMF i RV64IMAFD arhitekture instrukcijskih skupova i može uključivati ​​opcionalnu dijeljenu memoriju, L1, L2 i L3 keš memorije, te konfigurabilan broj jezgara, warpova i niti. Svaka jezgra također može uključivati ​​konfigurabilan broj ALU, FPU, LSU i SFU. Xilinx i Altera FPGA mogu se koristiti za izradu prototipova, a Verilator (Verilog simulator), RTLSIM (RTL simulacija) i SimX (softverska simulacija) mogu se koristiti za simulaciju čipa.

Za razvoj aplikacija, nudi se set alata, uključujući Vortex-adaptirane verzije PoCL-a (OpenCL kompajler i runtime), LLVM/Clang, GCC i Binutils. Projekat podržava OpenCL 1.2 specifikaciju i implementira podršku za SPIR-V međureprezentaciju shadera putem prevođenja u OpenCL.

Promjene u Vortexu 3.0 uključuju:

  • Dodan je hardverski grafički stek, uključujući blokove za rasterizaciju, mapiranje tekstura i spajanje izlaza (OM). Vulkan drajver, vortexpipe, razvijen je za Mesa na osnovu implementiranog grafičkog steka i softverskog rasterizatora lavapipe.
  • Mogućnosti Tensor Core-a, dizajniranog da ubrza izvršavanje modela mašinskog učenja, proširene su, implementirajući podršku za strukturiranu rijetkost za kompresiju matrica težina.
  • Operacija WGMMA (množenje matrica na nivou warpgrupe) je implementirana za množenje matrica u asinhronom režimu.
  • Dodan je DXA (Data Transfer Acceleration) mehanizam za ubrzavanje prijenosa podataka iz globalne u lokalnu memoriju.
  • Implementirana je nova arhitektura zasnovana na procesoru komandi (CP) i hardverskom raspoređivaču računarskih jezgara (KMU - Kernel Management Unit), koja omogućava dispečiranje računarskih niti na stranu čipa.
  • Predlaže se nova runtime biblioteka koja radi u neblokirajućem režimu i pruža apstrakcije koje se prevode u asinhrono izvršavane hardverske naredbe. Podržani su redovi čekanja, događaji, moduli i sinhronizacija zasnovani na asinhronim barijerama sa semantikom dolaska/čekanja/događaja.
  • Dodata je podrška za skraćene instrukcije (RVC) RISC-V.
  • Implementirana je hardverska podrška za atomske operacije (Hardware Atomics).
  • FPU je potpuno redizajniran i uvedeni su novi blokovi množitelja (Wallace-tree, Folded-radix) i sabirača (Kogge-Stone).
  • Dodan je virtuelni memorijski stek zasnovan na jedinici za upravljanje memorijom (MMU) sa podrškom za 32-bitnu SV32 arhitekturu virtuelnog adresiranja.
  • Podrška za RISC-V Zicond proširenje sa implementacijom uslovnih operacija.
  • Integrisano upravljanje taktom.
  • Podrška za HIP (Heterogeneous Interface for Portability) jezik je implementirana kroz chipStar framework, koji prevodi HIP u SPIR-V.
  • Obezbijeđena je potpuna integracija sa GEM5 simulatorom, a dodana je i podrška za SimX simulator na TLM (Transaction-Level Modeling) arhitekturi.
  • Dodana je podrška za Synopsys i Yosys alate za logičku sintezu za proizvodnju čipova, kao i podrška za korištenje biblioteka standardnih elemenata ASAP7 (7nm), SAED14 (14nm) i NanGate (15nm).
  • Referentni alatni lanac je ažuriran na LLVM 20 i POCL 7.0.

izvor: opennet.ru

Kupite pouzdan hosting za sajtove sa DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan web hosting sa DDoS zaštitom, VPS VDS servere | ProHoster