Një grup hulumtuesish nga Instituti Teknik i Xhorxhias po zhvillon projektin kërkimor Vortex, i cili ofron një GPGPU të hapur të bazuar në arkitekturën e setit të komandave RISC-V, i fokusuar në ekzekutimin e llogaritjeve paralel me përdorimin e API OpenCL dhe modelit të ekzekutimit SIMT (Instruksion i Vetëm, Njësi të Shumta), si dhe në kryerjen e hulumtimeve në fushën e grafikës 3D dhe zhvillimin e arkitekturave të reja GPU. Projekti është ende në fazën e prototipit, i cili funksionon përmes FPGA. Diagramet, përshkrimet e bllok-wake hardware në Verilog, simulatori, drejtuesit dhe dokumentacioni dytësor i projektit shpërndahen nën licencën BSD.
Në formën aktuale ofrohet një ISA standarde RISC-V, e zgjeruar me disa instruktivë shtesë të nevojshme për mbështetje të funksioneve GPU dhe menaxhimin e rrjedhave. Gjatë zhvillimit, autorët e projektit përpiqen të minimizojnë ndryshimet në arkitekturën e setit të komandave RISC-V, duke përdorur, sa më shumë të jetë e mundur, instrukcionet vektoriale që tashmë ekzistojnë. Një qasje e ngjashme po zbatohet gjithashtu në projektin RV64X, i cili po zhvillon një GPU të hapur mbi teknologjitë RISC-V.

Kapacitetet e Vortex pĂ«r pĂ«rpunimin e grafikĂ«s janĂ« ende tĂ« kufizuara. ĂshtĂ« e deklaruar mbĂ«shtetje pĂ«r OpenGL ES mbi Vortex, por nĂ« vetĂ« GPU pĂ«r momentin Ă«shtĂ« implementuar vetĂ«m instruksioni "tex" pĂ«r pĂ«rshpejtimin e pĂ«rpunimit tĂ« teksturave, i cili ekzekutohet nĂ« nivelin e fragment shader. Rasterizuesi i ndĂ«rtuar nuk ekziston â tĂ« gjitha operacionet gjeometrike pĂ«rpunohen nĂ« anĂ«n e CPU-sĂ« sĂ« sistemit, dhe primitivĂ«t bazĂ« pĂ«r pika, tangente dhe trekĂ«ndĂ«sha, si dhe pĂ«rpunimi i fragmenteve, thellĂ«sisĂ« dhe transparencĂ«s janĂ« implementuar nga pĂ«rdorimi i gjuhĂ«s OpenCL.

Në të ardhmen, planifikohet të implementohen zgjerime të veçanta për përpunimin grafik në ISA, të shtohet mbështetje për API CUDA dhe Vulkan, si dhe zgjerime për përshpejtimin e sistemeve të mësimit të makinerive dhe analizës së të dhënave. Për zhvillimin e aplikacioneve ofrohet një mjet, që përfshin variante të adaptuara për punë me Vortex të PoCL (kompiluesi dhe runtime OpenCL), LLVM/Clang, GCC dhe Binutils. Simulimi i funksionimit të çipit mbështetet përmes Verilator (simulator Verilog) dhe SimX (simulim programor).

Karakteristikat kryesore të Vortex:
- Mbështetje për arkitekturën e setit të komandave RISC-V RV32IMF.
- Zgjerimi i çipit deri në 64 bërthama me cache-opcionale L2 dhe L3.
- Ădo bĂ«rthamĂ« mund tĂ« ekzekutojĂ« 1024 kanale dhe tĂ« punojĂ« me njĂ« frekuencĂ« prej 250 MHz.
- Kapaciteti maksimal i llogaritjes është vlerësuar në 128 Gflops, ndërsa gjerësia e kanaleve të memories është 16 GB/s. Një implementim me 32 bërthama, që punon me një frekuencë prej 200 MHz, në bazë të FPGA Altera Stratix 10, ka treguar performancë prej 25.6 GFlops.
- Mbështetje për standardin OpenCL 1.2.
- Mundësia e implementimit mbi FPGA Intel Arria 10 dhe Intel Stratix 10.
Burimi: opennet.ru
