Déi zweet Editioun vum Vortex-Projet gouf publizéiert, entwéckelt eng oppe GPGPU baséiert op der RISC-V Instruktiounssetarchitektur, entwéckelt fir parallel Informatik mat der OpenCL API an dem SIMT (Single Instruction, Multiple Threads) Ausféierungsmodell auszeféieren. De Projet kann och benotzt ginn fir Fuerschung am Beräich vun 3D Grafiken ze maachen an nei GPU Architekturen z'entwéckelen. Schemaen, Beschreiwunge vun Hardwareblocken an der Verilog Sprooch, Simulator, Treiber a begleedend Designdokumentatioun ginn ënner der Apache 2.0 Lizenz verdeelt.
De Kär vu GPGPU ass e generesche RISC-V ISA, erweidert mat e puer zousätzlech Instruktioune fir d'GPU Funktionalitéit a Fuedem Kontroll z'ënnerstëtzen. Zur selwechter Zäit ginn Ännerungen an der RISC-V Instruktiounssetarchitektur op e Minimum gehal a wa méiglech existéierend Vektorinstruktioune benotzt. Eng ähnlech Approche gëtt am RV64X Projet benotzt, deen och eng oppe GPU baséiert op RISC-V Technologien entwéckelt.

Fir Grafiken baséiert op Vortex Technologien, gëtt déi oppe GPU Skybox entwéckelt, déi de Vulkan Grafik API ënnerstëtzt. De Skybox Prototyp, erstallt op Basis vun der Altera Stratix 10 FPGA an enthält 32 Cores (512 Threads), huet et méiglech gemaach eng Füllleistung vun 230 Gigapixel pro Sekonn (3.7 Gigatransaktiounen pro Sekonn) bei enger Frequenz vun 29.4 MHz z'erreechen. Et gëtt bemierkt datt dëst déi éischt oppe GPU mat Software an Hardware Implementatioun ass déi Vulkan ënnerstëtzt.
Haaptmerkmale vum Vortex:
- Ënnerstëtzt 32- a 64-Bit RISC-V Instruktiounsset Architekturen RV32IMF an RV64IMAFD.
- Konfiguréierbar Zuel vu Kären, Taskblocken (Warps) a Threads.
- Konfiguréierbar Zuel vun ALUs, FPUs, LSUs an SFUs pro Kär.
- Upassbar Pipeline Thema Breet.
- Optional gedeelt Erënnerung a L1, L2 an L3 Cache.
- OpenCL 1.2 Spezifizéierung Ënnerstëtzung.
- Méiglechkeet vun Ëmsetzung baséiert op FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 an Xilinx Versal VCK5000.
- Fortgeschratt Instruktiounen: "tex" fir d'Texturveraarbechtung ze beschleunegen, vx_rast fir d'Rasteriséierung ze kontrolléieren, vx_rop fir Fragmenter, Tiefe an Transparenz ze handhaben, vx_imadd fir Multiplikatioun auszeféieren an Operatiounen ze addéieren, vx_wspawn, vx_tmc a vx_bar fir Instruktiounskanten a Wellefronten z'aktivéieren, eng Rei vu Threads parallel ausgefouert vum SIMD Engine), vx_split a vx_join.
- Ënnerstëtzung fir Zwëschenvertriedung vu SPIR-V Shaders gëtt iwwer Iwwersetzung op OpenCL implementéiert.
- Fir Applikatiounsentwécklung gëtt en Toolkit ugebueden, dorënner Varianten vu PoCL (Compiler a Runtime OpenCL), LLVM/Clang, GCC a Binutils adaptéiert fir mat Vortex ze schaffen.
- Chip Simulatioun gëtt mat Verilator (Verilog Simulator), RTLSIM (RTL Simulatioun) an SimX (Software Simulatioun) ënnerstëtzt.
Ënnert den Ännerungen am Vortex 2.0:
- D'Mikroarchitektur gouf optimiséiert.
- Zousätzlech Ënnerstëtzung fir 64-Bit RISC-V RV64IMAFD Instruktiounsset Architektur.
- D'Méiglechkeet vun der Ëmsetzung bäigefüügt baséiert op Xilinx FPGA.
- Добавлена поддержка LLVM 16 и Ubuntu 20.04.
- Refactoring gouf duerchgefouert a Mängel, déi während der Qualitéitsbewäertung identifizéiert goufen, goufen korrigéiert.
Source: opennet.ru
