Vortex 3.0, en öppen källkods-GPGPU baserad på RISC-V-arkitekturen, har publicerats

Vortex 3.0-projektet, som utvecklar en öppen källkods-GPGPU baserad på RISC-V instruktionsuppsättningsarkitekturen och är designad för parallell beräkning med OpenCL API och SIMT (Single Instruction, Multiple Threads) exekveringsmodell, är nu tillgängligt. Projektet kan också användas för 3D-grafikforskning och utveckling av nya GPU-arkitekturer. Scheman, hårdvarublockbeskrivningar i Verilog, simulator, drivrutiner och tillhörande designdokumentation distribueras under Apache 2.0-licensen.

GPGPU är baserad på standarden RISC-V ISA, utökad med ytterligare instruktioner för att stödja GPU-funktioner och trådhantering. Ändringar i RISC-V instruktionsuppsättningsarkitekturen hålls till ett minimum, och befintliga vektorinstruktioner används när det är möjligt. Ytterligare instruktioner inkluderar: "tex" för att accelerera texturbearbetning; vx_rast för rasteriseringskontroll; vx_rop för fragment-, djup- och transparensbearbetning; vx_imadd för multiplicera-och-lägg-operationer; vx_wspawn, vx_split, vx_join, vx_tmc och vx_bar för att aktivera grupper av trådar (vågfronter) som exekveras parallellt av SIMD-motorn.

Den GPGPU som utvecklas stöder 32- och 64-bitars RISC-V RV32IMF- och RV64IMAFD-instruktionsuppsättningsarkitekturer och kan inkludera valfritt delat minne, L1-, L2- och L3-cachar, samt ett konfigurerbart antal kärnor, warps och trådar. Varje kärna kan också inkludera ett konfigurerbart antal ALU:er, FPU:er, LSU:er och SFU:er. Xilinx- och Altera FPGA:er kan användas för prototypframställning, och Verilator (Verilog-simulator), RTLSIM (RTL-simulering) och SimX (programvarusimulering) kan användas för chipsimulering.

För applikationsutveckling erbjuds en verktygslåda, inklusive Vortex-anpassade versioner av PoCL (OpenCL-kompilator och runtime), LLVM/Clang, GCC och Binutils. Projektet stöder OpenCL 1.2-specifikationen och implementerar stöd för SPIR-V-mellanrepresentationen av shaders via översättning till OpenCL.

Ändringar i Vortex 3.0 inkluderar:

  • En hårdvarubaserad grafikstack har lagts till, inklusive block för rasterisering, texturmappning och utdatasammanslagning (OM). En Vulkan-drivrutin, vortexpipe, har utvecklats för Mesa baserat på den implementerade grafikstacken och lavapipe-programvaru-rasteriseringsverktyget.
  • Funktionerna hos Tensor Core, utformad för att accelerera exekveringen av maskininlärningsmodeller, har utökats och implementerat stöd för strukturerad sparsity för att komprimera viktmatriser.
  • WGMMA-operationen (warpgroup-level matrix multiplikation) har implementerats för matrismultiplikation i asynkront läge.
  • Lade till DXA-motor (Data Transfer Acceleration) för att påskynda dataöverföring från globalt till lokalt minne.
  • En ny arkitektur har implementerats baserad på en kommandoprocessor (CP) och en hårdvaruschemaläggare för datorkärnor (KMU - Kernel Management Unit), vilket möjliggör överföring av datortrådar till chipsidan.
  • Ett nytt runtime-bibliotek föreslås som fungerar i icke-blockerande läge och tillhandahåller abstraktioner som översätts till asynkront exekverade hårdvarukommandon. Köer, händelser, moduler och synkronisering baserade på asynkrona barriärer med ankomst-/vänt-/händelsesemantik stöds.
  • Lade till stöd för RISC-V förkortade instruktioner (RVC).
  • Hårdvarustöd för atomära operationer (Hardware Atomics) har implementerats.
  • FPU:n har blivit helt omdesignad och nya multiplikatorblock (Wallace-tree, Folded-radix) och adderblock (Kogge-Stone) har introducerats.
  • Lade till en virtuell minnesstack baserad på minneshanteringsenheten (MMU) med stöd för den 32-bitars virtuella adresseringsarkitekturen SV32.
  • Stöd för RISC-V Zicond-utökningen med implementering av villkorliga operationer.
  • Integrerad klockstyrning.
  • Stöd för HIP-språket (Heterogeneous Interface for Portability) har implementerats genom chipStar-ramverket, som översätter HIP till SPIR-V.
  • Fullständig integration med GEM5-simulatorn har tillhandahållits, och stöd för SimX-simulatorn på TLM-arkitekturen (Transaction-Level Modeling) har lagts till.
  • Lade till stöd för Synopsys och Yosys verktygssatser för logiksyntes för chiptillverkning, samt stöd för användning av standardelementbiblioteken ASAP7 (7nm), SAED14 (14nm) och NanGate (15nm).
  • Referensverktygskedjan har uppdaterats till LLVM 20 och POCL 7.0.

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster