En gruppe forskere fra Georgia Institute of Technology udvikler forskningsprojektet Vortex, der tilbyder en åben GPGPU baseret på RISC-V instruktionssættet, målrettet mod parallelle beregninger ved hjælp af OpenCL API og SIMT (Single Instruction, Multiple Threads) udførelsesmodel, samt forskning inden for 3D-grafik og udvikling af nye GPU-arkitekturer. Projektet er stadig på prototype stadiet, som fungerer ved hjælp af FPGA. Skemaer, beskrivelser af hardwareblokke på Verilog, simulatorer, drivere og relateret projektdokumentation distribueres under BSD-licensen.
I sin nuværende form tilbydes en standard ISA RISC-V, udvidet med nogle ekstra instruktioner nødvendige for at understøtte GPU-funktioner og trådledelse. I udviklingen har projektforfatterne forsøgt at minimere ændringerne i RISC-V instruktionssættet ved at anvende eksisterende vektor-instruktioner, så meget som muligt. En lignende tilgang anvendes også i RV64X projektet, som også udvikler en åben GPU baseret på RISC-V teknologier.

Vortex' grafiske behandlingskapaciteter er stadig begrænsede. Der er påstået implementering af OpenGL ES understøttelse på Vortex, men i selve GPU'en er der kun blevet implementeret 'tex' instruktionen til at accelerere teksturbehandling, der udføres på fragment-shader niveau. Den indbyggede rasterizer mangler - al behandling af geometriske operationer udføres på systemets CPU, og de grundlæggende primitivs for punkter, linjer og trekanter, samt behandling af fragmenter, dybde og gennemsigtighed, er implementeret ved hjælp af OpenCL kernen.

I fremtiden planlægges det at implementere grafisk specifikke ISA-udvidelser, tilføje understøttelse for CUDA og Vulkan API'er samt udvidelser til at accelerere maskinlæringssystemer og dataanalyse. Til udvikling af applikationer tilbydes værktøjer, der inkluderer Vortex-tilpassede versioner af PoCL (kompilator og runtime OpenCL), LLVM/Clang, GCC og Binutils. Simulering af chipens arbejde understøttes ved hjælp af Verilator (Verilog simulator) og SimX (software simulering).

Hovedfunktioner i Vortex:
- Understøttelse af RISC-V RV32IMF instruktionssæt arkitektur.
- Skalering af chippen op til 64 kerner med valgfri L2 og L3 caches.
- Hver kerne kan udføre 1024 tråde og arbejde ved en frekvens på 250 MHz.
- Den maksimale beregningskraft vurderes til 128 Gflops, og båndbredden for hukommelsen er 16 GB/s. En 32-kernet løsning, der kører ved 200 Mhz, baseret på FPGA Altera Stratix 10, viste en ydeevne på 25,6 GFlops.
- Understøttelse af standarden OpenCL 1.2.
- Mulighed for implementering baseret på FPGA Intel Arria 10 og Intel Stratix 10.
Kilde: opennet.ru
