Avaldatud on Vortexi projekti teine ââvĂ€ljaanne, mis arendab RISC-V kĂ€sukomplekti arhitektuuril pĂ”hinevat avatud GPGPU-d, mis on loodud paralleelarvutuste tegemiseks OpenCL API ja SIMT (Single Instruction, Multiple Threads) tĂ€itmismudeli abil. Projekti saab kasutada ka 3D-graafika valdkonna uuringute lĂ€biviimiseks ja uute GPU arhitektuuride vĂ€ljatöötamiseks. Skeemid, riistvaraplokkide kirjeldused Verilogi keeles, simulaator, draiverid ja nendega kaasnev projektdokumentatsioon levitatakse Apache 2.0 litsentsi all.
GPGPU tuum on ĂŒldine RISC-V ISA, mida on tĂ€iendatud mĂ”ne GPU funktsionaalsuse ja lĂ”ime juhtimise toetamiseks vajalike lisajuhistega. Samal ajal viiakse RISC-V kĂ€sukomplekti arhitektuuri muudatused miinimumini ja vĂ”imalusel kasutatakse olemasolevaid vektorkĂ€ske. Sarnast lĂ€henemist kasutatakse projektis RV64X, mis arendab samuti RISC-V tehnoloogiatel pĂ”hinevat avatud GPU-d.

Vortexi tehnoloogiatel pĂ”hineva graafika jaoks töötatakse vĂ€lja avatud GPU Skybox, mis toetab Vulkani graafika API-d. Altera Stratix 10 FPGA baasil loodud Skyboxi prototĂŒĂŒp, mis sisaldas 32 sĂŒdamikku (512 lĂ”ime), vĂ”imaldas 230 MHz sagedusel saavutada tĂ€ituvuse 3.7 gigapikslit sekundis (29.4 gigatehingut sekundis). Tuleb mĂ€rkida, et see on esimene avatud GPU, millel on tarkvara ja riistvara, mis toetab Vulkani.
Vortexi peamised omadused:
- Toetab 32- ja 64-bitise RISC-V kÀsukomplekti arhitektuure RV32IMF ja RV64IMAFD.
- Konfigureeritav sĂŒdamike, tegumiplokkide (lĂ”imede) ja lĂ”imede arv.
- Konfigureeritav ALU-de, FPU-de, LSU-de ja SFU-de arv tuuma kohta.
- Reguleeritav torujuhtme vÀljalaske laius.
- Valikuline ĂŒhismĂ€lu ning L1, L2 ja L3 vahemĂ€lud.
- OpenCL 1.2 spetsifikatsiooni tugi.
- Rakenduse vÔimalus FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 ja Xilinx Versal VCK5000 baasil.
- TĂ€psemad juhised: "tex" tekstuuri töötlemise kiirendamiseks, vx_rast rasterimise juhtimiseks, vx_rop fragmentide, sĂŒgavuse ja lĂ€bipaistvuse kĂ€sitlemiseks, vx_imadd korrutamis- ja liitmistoimingute tegemiseks, vx_wspawn, vx_tmc ja vx_bar kĂ€suservade ja lainefrontide aktiveerimiseks, lĂ”imede komplekt mida kĂ€ivitab paralleelselt SIMD Engine), vx_split ja vx_join.
- SPIR-V varjundite vahepealse esituse tugi on rakendatud OpenCL-i tÔlkimise kaudu.
- Rakenduste arendamiseks pakutakse tööriistakomplekti, mis sisaldab Vortexiga töötamiseks kohandatud PoCL (kompilaator ja kÀitusaja OpenCL), LLVM/Clang, GCC ja Binutils variante.
- Kiibi simulatsiooni toetab Verilator (Verilog simulaator), RTLSIM (RTL simulatsioon) ja SimX (tarkvara simulatsioon).
Vortex 2.0 muudatuste hulgas:
- Mikroarhitektuur on optimeeritud.
- Lisatud on 64-bitise RISC-V RV64IMAFD kÀsukomplekti arhitektuuri tugi.
- Lisatud on Xilinxi FPGA-l pÔhineva rakendamise vÔimalus.
- Lisatud tugi LLVM 16 ja Ubuntu 20.04.
- Refaktoreerimine on teostatud ja kvaliteedihindamise kÀigus tuvastatud puudused parandatud.
Allikas: opennet.ru
