È stato pubblicato Vortex 2.1, un GPGPU open source basato sull'architettura RISC-V

È stata pubblicata una nuova edizione del progetto Vortex, che sviluppa un GPGPU aperto basato sull'architettura del set di istruzioni RISC-V, progettato per eseguire calcoli paralleli utilizzando l'API OpenCL e il modello di esecuzione SIMT (Single Instruction, Multiple Threads). Il progetto può inoltre essere utilizzato per la ricerca nel campo della grafica 3D e per lo sviluppo di nuove architetture GPU. Schemi, descrizioni dei blocchi hardware in linguaggio Verilog, simulatori, driver e documentazione di progetto correlata sono distribuiti con licenza Apache 2.0.

La base del GPGPU è costituita da un ISA RISC-V di tipo standard, ampliato con alcune istruzioni aggiuntive necessarie per supportare le funzionalità GPU e la gestione dei flussi. Le modifiche all'architettura del set di istruzioni RISC-V sono state ridotte al minimo e, quando possibile, vengono utilizzate le istruzioni vettoriali già esistenti. Un approccio simile è applicato nel progetto RV64X, che sviluppa anch'esso un GPU aperto basato su tecnologie RISC-V.

È stato pubblicato Vortex 2.1, un GPGPU open source basato sull'architettura RISC-V

Caratteristiche principali di Vortex:

  • Supporto per le architetture delle istruzioni RISC-V RV32IMF e RV64IMAFD a 32 e 64 bit.
  • Numero configurabile di core, blocchi di lavoro (warps) e flussi.
  • Numero configurabile di ALU, FPU, LSU e SFU per ogni core.
  • Larghezza di emissione del pipeline configurabile.
  • Memoria condivisa opzionale e cache di livello L1, L2 e L3.
  • Supporto per la specifica OpenCL 1.2.
  • Possibilità di implementazione su FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 e Xilinx Versal VCK5000.
  • Istruzioni estese: «tex» per accelerare l'operazione delle texture, vx_rast per la gestione della rasterizzazione, vx_rop per il trattamento dei frammenti, della profondità e della trasparenza, vx_imadd per eseguire l'operazione «moltiplica e somma», vx_wspawn, vx_tmc e vx_bar per attivare i fronti delle istruzioni e dei flussi (wavefront, insieme di thread eseguiti in parallelo dal SIMD Engine), vx_split e vx_join.
  • Il supporto per la rappresentazione intermedia degli shader SPIR-V è implementato tramite traduzione in OpenCL.
  • Per lo sviluppo di applicazioni, è fornito un toolkit che include versioni adattate di PoCL (compilatore e runtime OpenCL), LLVM/Clang, GCC e Binutils.
  • È supportata la simulazione del funzionamento del chip utilizzando Verilator (simulatore Verilog), RTLSIM (simulazione RTL) e SimX (simulazione software).

Per la grafica basata sulla tecnologia Vortex, è in sviluppo un GPU Skybox aperto che supporta le API grafiche Vulkan. Il prototipo Skybox, realizzato su FPGA Altera Stratix 10 e dotato di 32 core (512 thread), ha raggiunto una capacità di riempimento di 3.7 gigapixel al secondo (29.4 gigatransazioni al secondo) a una frequenza di 230 MHz. Si sottolinea che è il primo GPU aperto con implementazione software e hardware che supporta Vulkan.

Tra le novità della versione Vortex 2.1:

  • Aggiunto l'API spawn_taskgroups per avviare core che utilizzano memoria locale e supportano la creazione di barriere di memoria.
  • Proposta una nuova estensione per la creazione di core binari trasferibili (relocatable).
  • Nel'API di gestione della memoria sono state aggiunte le chiamate vx_mem_reserve, vx_mem_access e vx_mem_address.
  • Aggiunto un nuovo API runtime vx_check_occupancy.
  • Nel driver per GPU è stata aggiunta un'opzione per verificare i test OpenCL su GPU locale.
  • Aggiunti test OpenCL che utilizzano memoria locale (psum, sgemm2, sgemm3).
  • Aggiunte edizioni di librerie libc e librt appositamente adattate per Vortex.
  • Aggiunto supporto per la fusione di blocchi di memoria libera contigui (memory coalescing).
  • Ottimizzazione della microarchitettura completata.
  • Aggiunto un nuovo script di compilazione che separa i file sorgente dalla cartella di compilazione.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster