Vortex 2.1 on avaldatud, avatud GPGPU RISC-V arhitektuuril

Avaldatud on uus Vortex projekti versioon, mis arendab avatud GPGPU RISC-V käsuarsenali põhjal, mis on mõeldud paralleelsete arvutuste teostamiseks OpenCL API ja SIMT (Single Instruction, Multiple Threads) täitmisvõtte mudeli abil. Projekti saab kasutada ka 3D-graafika uurimiseks ja uute GPU arhitektuuride arendamiseks. Skeemid, seadmete plokkide kirjeldused Verilog keeles, simulaator, draiverid ja projektiga seotud dokumentatsioon on saadaval Apache 2.0 litsentsi all.

GPGPU aluseks on RISC-V tüüpiline ISA, millele on lisatud mõned täiendavad käsud, mis on vajalikud GPU funktsioonide ja voogude juhtimise toetamiseks. Samuti on RISC-V käsuarsenali arhitektuuri muutused viidud miinimumini ja kasutada on püütud võimalikult palju juba olemasolevaid vektorkäske. Sarnast lähenemist kasutatakse projektis RV64X, mis arendab samuti avatud GPU RISC-V tehnoloogiate põhjal.

Vortex 2.1 on avaldatud, avatud GPGPU RISC-V arhitektuuril

Vortexi põhiomadused:

  • Toetatakse 32- ja 64-bitiseid RISC-V käskude komplekti arhidektuure RV32IMF ja RV64IMAFD.
  • Kohandatav arvu tuumasid, ülesande plokke (warps) ja vooge.
  • Iga südamiku jaoks konfigureeritav ALU, FPU, LSU ja SFU arv.
  • Konfigureeritav konveierite laius (pipeline issue width).
  • Valikuline jagatud mälu ja L1, L2 ning L3 taseme kiibid.
  • Toetatud OpenCL 1.2 spetsifikatsioon.
  • FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 ja Xilinx Versal VCK5000 baasil realiseerimise võimalus.
  • Laienenud juhised: 'tex' tekstuuride töötlemise kiirendamiseks, vx_rast rasteriseerimise haldamiseks, vx_rop fragmentide, sügavuse ja läbipaistvuse töötlemiseks, vx_imadd 'korruta ja liida' toimingu tegemiseks, vx_wspawn, vx_tmc ja vx_bar instruktsioonide ja voogude (wavefront, kiud, mis täidavad paralleelselt SIMD Engine) aktiveerimiseks, vx_split ja vx_join.
  • Shaderite SPIR-V vaheesituse tugi on ellu viidud OpenCL-i tõlkimise kaudu.
  • Rakenduste arendamiseks on ette nähtud tööriistakomplekt, mis sisaldab Vortexiga töötamiseks kohandatud PoCL variantide (OpenCL kompilaator ja runtime), LLVM/Clang, GCC ja Binutils.
  • Toetatakse järgmise simulatsiooni valmistamist: Verilator (Verilog-simulaator), RTLSIM (RTL simulatsioon) ja SimX (tarkvarasimuatsioon).

Vortexi tehnikatel põhinev avatud GPU Skybox toetab graafikate API-d Vulkan. Altera Stratix 10 FPGA-l põhinev Skybox prototüüp, millel on 32 tuuma (512 niiti), saavutas 230 MHz tööfrequenst 3,7 gigapikslit sekundis (29,4 gigatehingut sekundis) täitmiskiirusel. Tõstetakse esile, et see on esimene avatud GPU, mis toetab Vulkanit nii tarkvara kui ka riistvara rakenduste kaudu.

Vortex 2.1 versioonis on toimunud järgmised muutused:

  • Lisatud API spawn_taskgroups tuumade käivitamiseks, mis kasutavad lokaalset mälu ja toetavad mälu barjääride seadmist.
  • Pakutud uus laiendus, mis võimaldab luua ümberpaigutatavaid binaarseid tuumi.
  • Mälu juhtimise API-s on lisatud väljakutsed vx_mem_reserve, vx_mem_access ja vx_mem_address.
  • Lisatud uus runtime API vx_check_occupancy.
  • GPU draiverisse on lisatud valik OpenCL-testide kontrollimiseks lokaalsel GPU-l.
  • Lisatud OpenCL testid, mis kasutavad lokaalset mälu (psum, sgemm2, sgemm3).
  • Vortexile kohandatud versioonid libc ja librt raamatutest on lisatud.
  • Lisatud toetus kõrvalasuvate vabade mälu blokkide liitmiseks (memory coalescing).
  • Mikroarhitektuuri on optimeeritud.
  • Lisatud uus koostamisskript, mis eraldab lähtefailid koostamiskataloogist.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster