Vortex 2.0 hè dispunibule, un GPGPU open source basatu annantu à l'architettura RISC-V

A seconda edizione di u prughjettu Vortex hè stata publicata, sviluppendu una GPGPU aperta basata nantu à l'architettura di l'istruzzioni RISC-V, pensata per eseguisce l'informatica parallela utilizendu l'API OpenCL è u mudellu d'esekzione SIMT (Single Instruction, Multiple Threads). U prughjettu pò ancu esse usatu per fà ricerche in u campu di gràfiche 3D è sviluppà novi architetture GPU. Schemi, descrizioni di blocchi hardware in lingua Verilog, simulatore, drivers è documentazione di cuncepimentu accumpagnatu sò distribuiti sottu a licenza Apache 2.0.

U core di GPGPU hè un RISC-V ISA genericu, allargatu cù alcune struzzioni supplementari necessarii per sustene a funziunalità GPU è u cuntrollu di filu. À u listessu tempu, i cambiamenti in l'architettura di l'istruzzioni RISC-V sò mantinuti à u minimu è, sempre chì hè pussibule, i struzzioni vettoriali esistenti sò usati. Un approcciu simili hè utilizatu in u prughjettu RV64X, chì sviluppa ancu una GPU aperta basata in tecnulugia RISC-V.

Vortex 2.0 hè dispunibule, un GPGPU open source basatu annantu à l'architettura RISC-V

Per i grafici basati nantu à e tecnulugia Vortex, a GPU Skybox aperta hè sviluppata, chì sustene l'API grafica Vulkan. U prototipu Skybox, creatu nantu à a basa di l'Altera Stratix 10 FPGA è chì includenu core 32 (512 fili), hà permessu di ottene un rendimentu di riempimentu di 230 gigapixels per seconda (3.7 gigatransactions per second) à una frequenza di 29.4 MHz. Hè nutatu chì questu hè a prima GPU aperta cù implementazione di software è hardware chì sustene Vulkan.

Caratteristiche principali di Vortex:

  • Supporta l'architetture di set di istruzioni RISC-V a 32 e 64 bit RV32IMF e RV64IMAFD.
  • Numero configurabile di core, blocchi di task (warps) è fili.
  • Numero configurabile di ALU, FPU, LSU è SFU per core.
  • Larghezza di emissione di pipeline regulabile.
  • Memoria spartuta opzionale è cache L1, L2 è L3.
  • Supportu di specificazione OpenCL 1.2.
  • Possibilità di implementazione basata su FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 e Xilinx Versal VCK5000.
  • Istruzioni avanzate: "tex" per accelerà a trasfurmazioni di texture, vx_rast per cuntrullà a rasterizazione, vx_rop per trattà i frammenti, a prufundità è a trasparenza, vx_imadd per fà multiplicà è aghjunghje operazioni, vx_wspawn, vx_tmc è vx_bar per attivà i bordi d'istruzzioni è i fronti d'onda, un set di fili eseguitu in parallelu da u SIMD Engine), vx_split è vx_join.
  • U supportu per a rapprisintazioni intermedia di i shaders SPIR-V hè implementatu via traduzzione à OpenCL.
  • Per u sviluppu di l'applicazioni, un toolkit hè offertu, cumprese varianti di PoCL (compiler è runtime OpenCL), LLVM / Clang, GCC è Binutils adattati per travaglià cù Vortex.
  • A simulazione di chip hè supportata cù Verilator (simulatore Verilog), RTLSIM (simulazione RTL) è SimX (simulazione software).

Trà i cambiamenti in Vortex 2.0:

  • A microarchitettura hè stata ottimizzata.
  • Aggiuntu supportu per l'architettura di set di istruzioni RISC-V RV64IMAFD a 64 bit.
  • Aggiunta a pussibilità di implementazione basatu annantu à Xilinx FPGA.
  • Добавлена поддержка LLVM 16 и Ubuntu 20.04.
  • A refactoring hè stata realizata è i difetti identificati durante a valutazione di a qualità sò stati corretti.

Source: opennet.ru

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster