Byl zveřejněn Vortex 3.0, open source GPGPU založený na architektuře RISC-V

Projekt Vortex 3.0, který vyvíjí open-source GPGPU založený na architektuře instrukční sady RISC-V a je navržen pro paralelní výpočty s využitím OpenCL API a modelu provádění SIMT (Single Instruction, Multiple Threads), je nyní k dispozici. Projekt lze také využít pro výzkum 3D grafiky a vývoj nových architektur GPU. Schémata, popisy hardwarových bloků ve Verilogu, simulátor, ovladače a doprovodná návrhová dokumentace jsou distribuovány pod licencí Apache 2.0.

GPGPU je založeno na standardním RISC-V ISA, rozšířeném o další instrukce pro podporu funkcí GPU a správy vláken. Změny v architektuře instrukční sady RISC-V jsou minimalizovány a stávající vektorové instrukce se používají, kdykoli je to možné. Mezi další instrukce patří: „tex“ pro urychlení zpracování textur; vx_rast pro řízení rasterizace; vx_rop pro zpracování fragmentů, hloubky a průhlednosti; vx_imadd pro operace násobení a sčítání; vx_wspawn, vx_split, vx_join, vx_tmc a vx_bar pro aktivaci skupin vláken (vlnofront) prováděných paralelně SIMD Enginem.

Vyvíjená GPGPU podporuje 32- a 64bitové architektury instrukčních sad RISC-V RV32IMF a RV64IMAFD a může zahrnovat volitelnou sdílenou paměť, mezipaměti L1, L2 a L3 a konfigurovatelný počet jader, warpů a vláken. Každé jádro může také zahrnovat konfigurovatelný počet ALU, FPU, LSU a SFU. Pro prototypování lze použít FPGA od Xilinx a Altera a pro simulaci čipů lze použít Verilator (simulátor Verilogu), RTLSIM (simulace RTL) a SimX (softwarová simulace).

Pro vývoj aplikací je k dispozici sada nástrojů, včetně verzí PoCL (kompilátor a běhové prostředí OpenCL) adaptovaných pro Vortex, LLVM/Clang, GCC a Binutils. Projekt podporuje specifikaci OpenCL 1.2 a implementuje podporu pro mezilehlou reprezentaci shaderů SPIR-V prostřednictvím překladu do OpenCL.

Změny ve Vortexu 3.0 zahrnují:

  • Byl přidán hardwarový grafický stack, včetně bloků pro rasterizaci, mapování textur a slučování výstupů (OM). Pro Mesa byl vyvinut ovladač Vulkan s názvem Vortexpipe, založený na implementovaném grafickém stacku a softwarovém rasterizátoru lavapipe.
  • Možnosti Tensor Core, určeného k urychlení provádění modelů strojového učení, byly rozšířeny o implementaci podpory strukturované řídkosti pro kompresi váhových matic.
  • Pro asynchronní násobení matic byla implementována operace WGMMA (násobení matic na úrovni warpgroup).
  • Přidán engine DXA (Data Transfer Acceleration) pro urychlení přenosu dat z globální do lokální paměti.
  • Byla implementována nová architektura založená na příkazovém procesoru (CP) a hardwarovém plánovači výpočetních jader (KMU - Kernel Management Unit), která umožňuje dispečing výpočetních vláken na stranu čipu.
  • Je navržena nová běhová knihovna, která pracuje v neblokujícím režimu a poskytuje abstrakce, které se překládají do asynchronně prováděných hardwarových příkazů. Jsou podporovány fronty, události, moduly a synchronizace založené na asynchronních bariérách se sémantikou arrive/wait/event.
  • Přidána podpora pro zkrácené instrukce RISC-V (RVC).
  • Byla implementována hardwarová podpora pro atomické operace (Hardware Atomics).
  • FPU byl kompletně přepracován a byly zavedeny nové bloky násobičky (Wallaceův strom, složený radix) a sčítačky (Kogge-Stone).
  • Přidán zásobník virtuální paměti založený na jednotce správy paměti (MMU) s podporou 32bitové architektury virtuálního adresování SV32.
  • Podpora rozšíření RISC-V Zicond s implementací podmíněných operací.
  • Integrované hradlování hodin.
  • Podpora jazyka HIP (Heterogeneous Interface for Portability) byla implementována prostřednictvím frameworku chipStar, který překládá HIP do SPIR-V.
  • Byla zajištěna plná integrace se simulátorem GEM5 a přidána podpora pro simulátor SimX na architektuře TLM (Transaction-Level Modeling).
  • Přidána podpora pro sady nástrojů Synopsys a Yosys pro logickou syntézu pro výrobu čipů a také podpora pro použití knihoven standardních prvků ASAP7 (7nm), SAED14 (14nm) a NanGate (15nm).
  • Referenční nástrojová řada byla aktualizována na LLVM 20 a POCL 7.0.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster