Një grup kërkuesish nga Instituti Teknologjik i Gjeorgjisë po zhvillon një projekt kërkimor Vortex, që ofron GPGPU të hapur të bazuar në arkitekturën e grupit të instruksioneve RISC-V, i orientuar për të kryer llogaritje paralele duke përdorur API-në OpenCL dhe modelin e ekzekutimit SIMT (Instruksion i Vetëm, Shumë Thread-e), dhe gjithashtu për të kryer kërkime në grafikën 3D dhe zhvillimin e arkitekturave të reja të GPU-ve. Projekti ndodhet ende në etapën e prototipit, duke punuar me FPGA. Schemat, përshkrimet e blloqeve të harduerit në gjuhën Verilog, simulatori, driverat dhe dokumentacioni i shoqërueshëm i projektit shpërndahen nën licencën BSD.
Në formën aktuale ofrohet një ISA tipike RISC-V, e zgjeruar me disa instruksione shtesë të nevojshme për mbështetje të funksioneve të GPU dhe menaxhimin e threads. Gjatë zhvillimit, autorët e projektit tentuan të minimizojnë ndryshimet në arkitekturën e grupit të instruksioneve RISC-V, duke përdorur sa më shumë instruksione vektoriale që tashmë ekzistojnë. Një qasje e ngjashme aplikohet gjithashtu në projektin RV64X, i cili gjithashtu zhvillon një GPU të hapur të bazuar në teknologjitë RISC-V.

Mundësitë e Vortex për përpunimin e grafikës janë për momentin të kufizuara. Është deklaruar mbështetje për OpenGL ES mbi Vortex, por në vetë GPU-ja aktualisht është implementuar vetëm instruksioni «tex» për të aceleruar trajtimin e teksturave, i cili realizohet në nivelin e fragment shenuesit. Rasterizatori i integruar mungon - të gjitha operacionet gjeometrike trajtohen nga CPU e sistemit, ndërsa primitivët bazë për pikat, linjat dhe trekëndëshat, si dhe trajtimi i fragmenteve, thellësisë dhe transparencës, realizohen duke përdorur bërthamen OpenCL.

Në të ardhmen planifikohet që të implementohen zgjerime specifike për përpunimin e grafikës ISA, të shtohet mbështetje për API-të CUDA dhe Vulkan, si dhe zgjerime për të acceleruar sistemet e mësimit të makinave dhe analizës së të dhënave. Për zhvillimin e aplikacioneve ofrohet një mjet përfshirës, që përfshin variante të adaptuara për punë me Vortex si PoCL (kompilatori dhe runtime i OpenCL), LLVM/Clang, GCC dhe Binutils. Mbështetet simulimi i punës së çipit duke përdorur Verilator (simulator Verilog) dhe SimX (simulimi softuerik).

Karakteristikat kryesore të Vortex:
- Mbështetje për arkitekturën e grupit të komandave RISC-V RV32IMF.
- Zgjerimi i çipit deri në 64 bërthama me caches opsionale L2 dhe L3.
- Çdo bërthamë mund të ekzekutojë 1024 rrjedha dhe të funksionojë me frekuencë 250 MHz.
- Kapaciteti maksimal i llogaritjes është vlerësuar në 128 Gflops, ndërsa kapaciteti i memorie është 16 GB/s. Një realizim 32-bërthamësh që funksionon me frekuencë 200 MHz, mbi bazën e FPGA Altera Stratix 10, tregoi performancë prej 25.6 GFlops.
- Mbështetje për standardin OpenCL 1.2.
- Mundësia për realizim mbi bazën e FPGA Intel Arria 10 dhe Intel Stratix 10.
Burimi: opennet.ru
