Ang isang pangkat ng mga mananaliksik mula sa Georgia Institute of Technology ay bumubuo ng Vortex research project, na nagmumungkahi ng bukas na GPGPU batay sa RISC-V instruction set architecture, na naglalayong magsagawa ng parallel computing gamit ang OpenCL API at ang SIMT (Single Instruction, Multiple Threads ) modelo ng pagpapatupad, pati na rin ang pagsasagawa ng pananaliksik sa larangan ng 3D graphics at pagbuo ng mga bagong arkitektura ng GPU. Ang proyekto ay nasa prototype stage pa rin, tumatakbo gamit ang isang FPGA. Ang mga scheme, paglalarawan ng mga bloke ng hardware sa wikang Verilog, simulator, mga driver at kasamang dokumentasyon ng disenyo ay ipinamamahagi sa ilalim ng lisensya ng BSD.
Sa kasalukuyan nitong anyo, isang generic na RISC-V ISA ang ibinibigay, na pinahusay ng ilang karagdagang tagubilin na kailangan upang suportahan ang paggana ng GPU at kontrol ng thread. Sa panahon ng pag-unlad, sinubukan ng mga may-akda ng proyekto na i-minimize ang mga pagbabago sa arkitektura ng set ng pagtuturo ng RISC-V, gamit ang mga kasalukuyang tagubilin sa vector hangga't maaari. Ang isang katulad na diskarte ay ginagamit din sa proyekto ng RV64X, na bumubuo rin ng isang bukas na GPU batay sa mga teknolohiya ng RISC-V.

Limitado pa rin ang mga kakayahan sa pagpoproseso ng graphics ng Vortex. Ang Vortex-based na suporta para sa OpenGL ES ay inihayag, ngunit ang GPU mismo sa ngayon ay nagpapatupad lamang ng "tex" na pagtuturo upang pabilisin ang pagproseso ng texture, na ginagawa sa antas ng fragment shader. Walang built-in na rasterizer - lahat ng pagproseso ng mga geometric na operasyon ay isinasagawa sa gilid ng system CPU, at ang mga pangunahing primitive para sa mga puntos, linya at tatsulok, pati na rin ang pagproseso ng mga fragment, lalim at transparency, ay ipinatupad gamit ang OpenCL kernel .

Sa hinaharap, plano naming magpatupad ng mga extension ng ISA na partikular sa graphics, magdagdag ng suporta para sa CUDA at Vulkan API, pati na rin ang mga extension para mapabilis ang machine learning at data analytics system. Para sa pagbuo ng application, isang toolkit ang inaalok, kabilang ang mga variant ng PoCL (compiler at runtime OpenCL), LLVM/Clang, GCC at Binutils na inangkop para sa pakikipagtulungan sa Vortex. Ang simulation ng chip operation ay sinusuportahan gamit ang Verilator (Verilog simulator) at SimX (software simulation).

Mga pangunahing tampok ng Vortex:
- Sinusuportahan ang RISC-V RV32IMF instruction set architecture.
- Pag-scale ng chip hanggang sa 64 na mga core na may opsyonal na L2 at L3 na mga cache.
- Ang bawat core ay maaaring magsagawa ng 1024 na mga thread at gumana sa 250 MHz.
- Ang pinakamataas na kapangyarihan sa pag-compute ay tinatantya sa 128 Gflops, at ang memory bandwidth ay 16 GB/s. Ang isang 32-core na pagpapatupad na tumatakbo sa 200 Mhz, batay sa Altera Stratix 10 FPGA, ay nagpakita ng pagganap na 25.6 GFlops.
- OpenCL 1.2 karaniwang suporta.
- Posibilidad ng pagpapatupad batay sa FPGA Intel Arria 10 at Intel Stratix 10.
Pinagmulan: opennet.ru
