De Vortex 3.0 Projet, deen eng Open-Source GPGPU entwéckelt, déi op der RISC-V Instruktiounsset Architektur baséiert a fir parallel Rechenzäit mat der OpenCL API an dem SIMT (Single Instruction, Multiple Threads) Ausféierungsmodell entwéckelt ass, ass elo verfügbar. De Projet kann och fir 3D Grafikfuerschung an d'Entwécklung vun neien GPU Architekturen benotzt ginn. D'Schemaen, d'Hardware Blockbeschreiwungen a Verilog, de Simulator, d'Treiber an déi begleedend Designdokumentatioun ginn ënner der Apache 2.0 Lizenz verdeelt.
GPGPU baséiert op dem Standard RISC-V ISA, erweidert mat zousätzlechen Instruktiounen fir GPU-Funktiounen an Threadmanagement z'ënnerstëtzen. Ännerungen un der RISC-V Instruktiounssetarchitektur ginn op e Minimum reduzéiert, an existent Vektorinstruktioune ginn, wa méiglech, benotzt. Zousätzlech Instruktioune sinn: "tex" fir d'Beschleunegung vun der Texturveraarbechtung; vx_rast fir Rasteriséierungskontroll; vx_rop fir Fragment-, Déift- an Transparenzveraarbechtung; vx_imadd fir Multiplikatiouns- an Addéierungsoperatiounen; vx_wspawn, vx_split, vx_join, vx_tmc, a vx_bar fir d'Aktivéierung vu Gruppe vu Threads (Wellenfronten), déi parallel vum SIMD Engine ausgefouert ginn.

Déi entwéckelt GPGPU ënnerstëtzt 32- a 64-Bit RISC-V RV32IMF- an RV64IMAFD-Instruktiounsset-Architekturen a kann optional Shared Memory, L1-, L2- an L3-Cachen, an eng konfiguréierbar Zuel vu Kären, Warps an Threads enthalen. All Kär kann och eng konfiguréierbar Zuel vun ALUs, FPUs, LSUs an SFUs enthalen. Xilinx- an Altera-FPGAs kënne fir Prototyping benotzt ginn, a Verilator (Verilog-Simulator), RTLSIM (RTL-Simulatioun) a SimX (Softwaresimulatioun) kënne fir Chipsimulatioun benotzt ginn.
Fir d'Applikatiounsentwécklung gëtt en Toolkit ugebueden, dorënner Vortex-adaptéiert Versioune vu PoCL (OpenCL Compiler a Runtime), LLVM/Clang, GCC a Binutils. De Projet ënnerstëtzt d'OpenCL 1.2 Spezifikatioun an implementéiert Ënnerstëtzung fir d'SPIR-V Zwëschenrepresentatioun vu Shader iwwer Iwwersetzung op OpenCL.
Ännerungen am Vortex 3.0 enthalen:
- E Hardware-Grafikstack gouf bäigefüügt, dorënner Blöcke fir Rasteriséierung, Texturmapping an Output Merging (OM). E Vulkan-Treiber, Vortexpipe, gouf fir Mesa entwéckelt, baséiert op dem implementéierte Grafikstack an dem Lavapipe Software-Rasterizer.
- D'Méiglechkeete vum Tensor Core, dee fir d'Ausféierung vu maschinelle Léiermodeller entwéckelt gouf, goufen erweidert, andeems Ënnerstëtzung fir strukturell Sparsity fir d'Kompriméiere vu Gewiichtsmatrizen implementéiert gouf.
- D'WGMMA (Matrixmultiplikatioun op Warpgroup-Level) Operatioun gouf fir d'Matrixmultiplikatioun am asynchrone Modus implementéiert.
- DXA (Data Transfer Acceleration) Engine bäigefüügt fir den Datentransfer vum globale Speicher an de lokalen Speicher ze beschleunegen.
- Eng nei Architektur gouf implementéiert, déi op engem Kommandoprozessor (CP) an engem Hardware-Scheduler vu Rechenkären (KMU - Kernel Management Unit) baséiert, déi d'Verschécken vu Rechenthreads op d'Chipsäit erlaabt.
- Eng nei Runtime-Bibliothéik gëtt virgeschloen, déi am net-blockéierende Modus funktionéiert an Abstraktiounen ubitt, déi an asynchron ausgefouert Hardware-Kommandoen iwwersat ginn. Schlaangen, Eventer, Moduler a Synchroniséierung baséiert op asynchrone Barrièren mat Arrivée/Waarden/Event-Semantik ginn ënnerstëtzt.
- Ënnerstëtzung fir RISC-V Shortened Instructions (RVC) bäigefüügt.
- Hardware-Ënnerstëtzung fir atomar Operatiounen (Hardware Atomics) gouf implementéiert.
- D'FPU gouf komplett nei designt an nei Multiplikator- (Wallace-Tree, Folded-Radix) an Adder- (Kogge-Stone) Blöcke goufen agefouert.
- E virtuelle Speicherstack baséiert op der Memory Management Unit (MMU) mat Ënnerstëtzung fir déi 32-Bit SV32 virtuell Adresséierungsarchitektur gouf bäigefüügt.
- Ënnerstëtzung fir d'RISC-V Zicond-Erweiderung mat der Ëmsetzung vu bedingten Operatiounen.
- Integréiert Auerkontroll.
- Ënnerstëtzung fir d'HIP-Sprooch (Heterogeneous Interface for Portability) gouf iwwer de chipStar-Framework implementéiert, deen HIP a SPIR-V iwwersetzt.
- Eng voll Integratioun mam GEM5-Simulator gouf zur Verfügung gestallt, an Ënnerstëtzung fir de SimX-Simulator op der TLM-Architektur (Transaction-Level Modeling) gouf bäigefüügt.
- Ënnerstëtzung fir Synopsys an Yosys Toolkits fir Logiksynthese fir Chipfabrikatioun gouf bäigefüügt, souwéi Ënnerstëtzung fir d'Benotzung vun den ASAP7 (7nm), SAED14 (14nm) an NanGate (15nm) Standardelementbibliothéiken.
- D'Referenz-Toolchain gouf op LLVM 20 a POCL 7.0 aktualiséiert.
Source: opennet.ru
