On avaldanud uue redaktsiooni Vortexi projektist, mis arendab avatud GPGPU RISC-V kĂ€skluskomplekti arhitektuuril, mis on loodud paralleelsete arvutuste teostamiseks OpenCL API ja SIMT (Single Instruction, Multiple Threads) tĂ€itmisreĆŸiimi abil. Projekti saab kasutada ka 3D-graafika uurimistes ja uute GPU arhitektuuride arendamisel. Skeemid, riistvarablokkide kirjeldused Verilog keeles, simulaatorid, draiverid ja muud projekti dokumentatsioon on levitatavad 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.

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-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.
Vortex 2.1 versiooni muudatused:
- Lisatud API spawn_taskgroups tuumade kÀivitamiseks, kasutades kohalikku mÀlu ja toetades mÀlu barjÀÀride seadistamist.
- Pakkuda uut laiendust, et luua ĂŒmberpaigutatavaid binaarseid tuumi.
- MĂ€lu haldamise API-sse on lisatud funktsioonid vx_mem_reserve, vx_mem_access ja vx_mem_address.
- Lisatud uus jooksuta API vx_check_occupancy.
- GPU draiverisse on lisatud valik kohalikul GPU-l OpenCL-testide kontrollimiseks.
- Lisatud OpenCL-testid, mis kasutavad kohalikku mÀlu (psum, sgemm2, sgemm3).
- Lisatud spetsiaalselt Vortexile kohandatud libc ja librt raamatukogude redaktsioonid.
- Lisatud tugi lÀhenevate vabade mÀluplokkide liitmiseks (memory coalescing).
- Teostatud mikroarhitektuuri optimeerimine.
- Lisatud uus koostamisskript, mis eraldab allikafaile koostamiskaustast.
Allikas: opennet.ru
