Vortex 2.2, et åbent GPGPU baseret på RISC-V-arkitektur, er tilgængeligt

Udgaven af projektet Vortex 2.2 er offentliggjort, som udvikler et åbent GPGPU baseret på RISC-V instruktionssættets arkitektur, designet til at udføre parallel beregning ved hjælp af OpenCL API og SIMT (Single Instruction, Multiple Threads) udførelsesmodel. Projektet kan også bruges til forskning inden for 3D-grafik og udvikling af nye GPU-arkitekturer. Diagrammer, beskrivelser af hardwarekomponenter på Verilog, simulatorer, drivere og tilhørende projekt-dokumentation distribueres under Apache 2.0 licensen.

Grundlaget for GPGPU er et typisk RISC-V ISA, udvidet med nogle ekstra instruktioner, der er nødvendige for at understøtte GPU-funktioner og strømstyring. Ændringer i RISC-V instruktionssætets arkitektur er begrænsede, og eksisterende vektor instruktioner anvendes så vidt muligt. Blandt de ekstra instruktioner kan nævnes: «tex» til acceleration af teksturbehandling, vx_rast til rasterisering, vx_rop til behandling af fragmenter, dybde og transparens, vx_imadd til at udføre operationen «multiply and add», vx_wspawn, vx_tmc og vx_bar til aktivering af instruktioner og strømfronten i dem (wavefront, et sæt tråde, der kører parallelt på SIMD Engine), vx_split og vx_join.

Vortex 2.2, et åbent GPGPU baseret på RISC-V-arkitektur, er tilgængeligt

Det udviklede GPGPU understøtter 32- og 64-bit arkitekturerne RISC-V RV32IMF og RV64IMAFD, og kan inkludere valgfri delt hukommelse, L1, L2 og L3 caches, samt et konfigurerbart antal kerner, opgaveblokke (warps) og tråde. For hver kerne er der mulighed for at aktivere et konfigurerbart antal ALU, FPU, LSU og SFU. Til prototyping kan FPGA'er fra Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 og Xilinx Versal VCK5000 anvendes. Til simulering af chipens funktion kan Verilator (Verilog-simulator), RTLSIM (RTL-simulering) og SimX (programsimulering) benyttes.

Til udvikling af applikationer tilbydes et værktøjssæt, der inkluderer tilpassede versioner af PoCL (kompilator og runtime OpenCL) til Vortex, LLVM/Clang, GCC og Binutils. Projektet understøtter specifikationen OpenCL 1.2, og gennem oversættelse til OpenCL er supporten for den mellemliggende repræsentation af shaders SPIR-V implementeret. Til grafik på Vortex-teknologier udvikles den åbne GPU Skybox, som understøtter den grafiske API Vulkan. Prototypen af Skybox, bygget på FPGA Altera Stratix 10 og indeholdende 32 kerner (512 tråde), har med en frekvens på 230 MHz opnået en ydeevne for indlæsning på 3,7 gigapixler pr. sekund (29,4 gigatransaktioner pr. sekund).

Blandt ændringerne i version Vortex 2.2:

  • API vx_spawn_taskgroups er tilføjet for at starte kerner, der understøtter segmenteret udførelse af 3D-opgaver.
  • Der er tilføjet support for ZICOND, en udvidelse af RISC-V instruktionssættets arkitektur, som muliggør betinget udførelse af operationer uden forgrening.
  • OpenCL-kompilatoren er ændret til at planlægge udførelsen på niveauet for individuelle tråde (thread-level, hvor hver tråd udfører sin opgave uafhængigt af andre tråde), i stedet for opgange (warp-level), som det var tidligere.
  • OpenCL har fået support for JIT-kompilering og 64-bit kerner.
  • Der er implementeret support for dynamisk indlæsning af Vortex runtime.
  • Der er tilbudt ny dokumentation til konfiguration af FPGA Xilinx.
  • Testning af logiksynthese er blevet inkluderet med anvendelse af Yosys værktøjsættet.
  • Der er tilføjet understøttelse af cache i de hierarkiske flush-operationer og i write-back-tilstand.
  • Der er udført optimering af hastigheden for scoreboard-verifikation og arbejdet med operander på niveauet for registeroverførsler (RTL, Register Transfer Level).
  • Support for simulatoren DRAM-hukommelse Ramulator 2.0 er blevet tilføjet.
  • Overgangen til brug af de nye versioner Verilator 5.0 (SystemVerilog simulator) og LLVM 18.0 er blevet gennemført, og værktøjsættet baseret på CentOS 7.9 er opdateret.
  • I stedet for Travis CI til kontinuerlig integration er GitHub CI-tjenesten blevet anvendt.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster