Vortex 3.0, een open source GPGPU gebaseerd op de RISC-V-architectuur, is gepubliceerd

Het Vortex 3.0-project, dat een open-source GPGPU ontwikkelt gebaseerd op de RISC-V-instructiesetarchitectuur en is ontworpen voor parallelle berekeningen met behulp van de OpenCL API en het SIMT-uitvoeringsmodel (Single Instruction, Multiple Threads), is nu beschikbaar. Het project kan ook worden gebruikt voor onderzoek naar 3D-graphics en de ontwikkeling van nieuwe GPU-architecturen. De schema's, hardwareblokbeschrijvingen in Verilog, simulator, drivers en bijbehorende ontwerpdocumentatie worden gedistribueerd onder de Apache 2.0-licentie.

GPGPU is gebaseerd op de standaard RISC-V ISA, uitgebreid met extra instructies ter ondersteuning van GPU-functies en threadbeheer. Wijzigingen in de RISC-V-instructiesetarchitectuur worden tot een minimum beperkt en bestaande vectorinstructies worden waar mogelijk gebruikt. Extra instructies zijn onder andere: "tex" voor het versnellen van textuurverwerking; vx_rast voor rasterisatiecontrole; vx_rop voor fragment-, diepte- en transparantieverwerking; vx_imadd voor vermenigvuldigings- en optelbewerkingen; vx_wspawn, vx_split, vx_join, vx_tmc en vx_bar voor het activeren van groepen threads (wavefronts) die parallel worden uitgevoerd door de SIMD-engine.

De te ontwikkelen GPGPU ondersteunt 32- en 64-bits RISC-V RV32IMF- en RV64IMAFD-instructiesetarchitecturen en kan optioneel gedeeld geheugen, L1-, L2- en L3-caches en een configureerbaar aantal cores, warps en threads bevatten. Elke core kan ook een configureerbaar aantal ALU's, FPU's, LSU's en SFU's bevatten. Xilinx- en Altera-FPGA's kunnen worden gebruikt voor prototyping, en Verilator (Verilog-simulator), RTLSIM (RTL-simulatie) en SimX (software-simulatie) kunnen worden gebruikt voor chipsimulatie.

Voor applicatieontwikkeling wordt een toolkit aangeboden, inclusief Vortex-aangepaste versies van PoCL (OpenCL-compiler en -runtime), LLVM/Clang, GCC en Binutils. Het project ondersteunt de OpenCL 1.2-specificatie en implementeert ondersteuning voor de SPIR-V-tussenrepresentatie van shaders door middel van vertaling naar OpenCL.

De wijzigingen in Vortex 3.0 omvatten:

  • Er is een hardwarematige grafische stack toegevoegd, inclusief blokken voor rasterisatie, textuurmapping en het samenvoegen van uitvoer (OM). Een Vulkan-driver, vortexpipe, is ontwikkeld voor Mesa, gebaseerd op de geïmplementeerde grafische stack en de lavapipe-softwarerasterizer.
  • De mogelijkheden van de Tensor Core, ontworpen om de uitvoering van machine learning-modellen te versnellen, zijn uitgebreid met ondersteuning voor gestructureerde sparse matrices voor het comprimeren van gewichtsmatrices.
  • De WGMMA-bewerking (warpgroup-level matrix multiplication) is geïmplementeerd voor matrixvermenigvuldiging in asynchrone modus.
  • De DXA-engine (Data Transfer Acceleration) is toegevoegd om de gegevensoverdracht van globaal naar lokaal geheugen te versnellen.
  • Er is een nieuwe architectuur geïmplementeerd, gebaseerd op een commandoprocessor (CP) en een hardwarematige scheduler voor rekenkernen (KMU - Kernel Management Unit), waarmee rekenthreads naar de chip kunnen worden verzonden.
  • Er wordt een nieuwe runtimebibliotheek voorgesteld die in niet-blokkerende modus werkt en abstracties biedt die worden vertaald naar asynchroon uitgevoerde hardwarecommando's. Wachtrijen, gebeurtenissen, modules en synchronisatie op basis van asynchrone barrières met arrive/wait/event-semantiek worden ondersteund.
  • Ondersteuning voor RISC-V Shortened Instructions (RVC) is toegevoegd.
  • Hardwareondersteuning voor atomaire bewerkingen (Hardware Atomics) is geïmplementeerd.
  • De FPU is volledig opnieuw ontworpen en er zijn nieuwe vermenigvuldigingsblokken (Wallace-tree, Folded-radix) en optelblokken (Kogge-Stone) geïntroduceerd.
  • Er is een virtuele geheugenstack toegevoegd, gebaseerd op de geheugenbeheereenheid (MMU), met ondersteuning voor de 32-bits SV32 virtuele adresseerarchitectuur.
  • Ondersteuning voor de RISC-V Zicond-extensie met implementatie van voorwaardelijke bewerkingen.
  • Geïntegreerde klokpoortschakeling.
  • Ondersteuning voor de HIP-taal (Heterogeneous Interface for Portability) is geïmplementeerd via het chipStar-framework, dat HIP vertaalt naar SPIR-V.
  • Volledige integratie met de GEM5-simulator is gerealiseerd en ondersteuning voor de SimX-simulator op de TLM-architectuur (Transaction-Level Modeling) is toegevoegd.
  • Er is ondersteuning toegevoegd voor Synopsys- en Yosys-toolkits voor logicasynthese ten behoeve van chipfabricage, evenals ondersteuning voor het gebruik van de standaard elementbibliotheken ASAP7 (7 nm), SAED14 (14 nm) en NanGate (15 nm).
  • De referentietoolchain is bijgewerkt naar LLVM 20 en POCL 7.0.

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster