On avaldatud Vortexi teine versioon, mis arendab avatud GPGPU RISC-V kÀsuarsitektil, mis on mÔeldud paralleelsete arvutuste teostamiseks OpenCL API ja SIMT (Single Instruction, Multiple Threads) tÀitmisreeglite kasutamisega. Projekti saab kasutada ka 3D-graafika uuringute ja uute GPU arhitektuuride vÀljatöötamise ajal. Skeemid, riistvarablockide kirjeldused Verilog keeles, simulator, draiverid ja kaasnevad projektidokumendid levitatakse Apache 2.0 litsentsi alusel.
GPGPU aluseks on tĂŒĂŒpiline RISC-V ISA, mida on laiendatud mĂ”ne lisainstruktsiooniga, mis on vajalikud GPU funktsioonide ja voogude haldamiseks. Arhitektuuri kĂ€skluskomplekti RISC-V muutused on minimaalsetes piirides ja vĂ”imalik on kasutada juba olemasolevaid vektor instruktisoonide. Sarnast lĂ€henemist rakendatakse ka RV64X projektis, mis arendab avatud GPU RISC-V tehnoloogiate baasil.

Vortex-tehnoloogiate graafikas arendatakse avatud GPU Skyboxi, mis toetab graafilist API-d Vulkan. FPGA Altera Stratix 10 baasil loodud prototĂŒĂŒp Skybox, mis sisaldab 32 tuuma (512 lĂ”ime), suutis 230 MHz juures saavutada 3.7 gigapikslit sekundis (29.4 gigatehingut sekundis) tĂ€itmiskiirusena. MĂ€rgitakse, et see on esimene avatud GPU, millel on tarkvara- ja riistvaraline rakendus, mis toetab Vulkanit.
Vortexi peamised omadused:
- Toetab 32- ja 64-bitiseid RISC-V RV32IMF ja RV64IMAFD kÀskluskomplekte.
- Kohandatav tuumade, tööplokkide (warps) ja voogude arv.
- Kohandatav ALU, FPU, LSU ja SFU arv iga tuuma kohta.
- Kohandatav konveieri vÀljastuse laius (pipeline issue width).
- Valikuline jagatud mÀlu ja L1, L2 ja L3 taseme puhver.
- Toetab OpenCL 1.2 spetsifikatsiooni.
- VÔimalus teostada FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 ja Xilinx Versal VCK5000 alusel.
- Laiendatud instruktsioonid: "tex" tekstuuride töötlemise kiirendamiseks, vx_rast rasteriseerimise juhtimiseks, vx_rop fragmentide, sĂŒgavuse ja lĂ€bipaistvuse töötlemiseks, vx_imadd "korrutage ja liitke" teostamiseks, vx_wspawn, vx_tmc ja vx_bar instruktsioonide ja voogude aktiviseerimiseks (wavefront, sĂŒdamike kogum, mis on samaaegselt teostatud SIMD mootoris), vx_split ja vx_join.
- Toetatakse shaderite SPIR-V vahevormi rakendust OpenCL-ks tÔlkimise kaudu.
- Rakenduste arendamiseks pakutakse tööriistu, sealhulgas Vortexile kohandatud variandid PoCL (OpenCL kompilaator ja runtime), LLVM/Clang, GCC ja Binutils.
- Toetatakse kiibi simulatsiooni Verilator (Verilog simulaator), RTLSIM (RTL simulatsioon) ja SimX (tarkvaraline simulatsioon) abil.
Vortex 2.0 versiooni uuenduste seas:
- Teostatud mikroarhitektuuri optimeerimine.
- Lisatud 64-bitise RISC-V kÀsuarsitekti RV64IMAFD tugi.
- Lisatud vÔimalus rakendada Xilinx FPGA-l.
- Lisatud tugi LLVM 16-le ja Ubuntu 20.04-le.
- Viidud lÀbi refaktooring ja parandatud kvaliteedi hindamise kÀigus tuvastatud probleeme.
Allikas: opennet.ru
