K dispozici je Vortex 2.0, otevřený GPGPU založený na architektuře RISC-V

Byla vydána druhá verze projektu Vortex, který rozvíjí otevřený GPGPU na bázi architektury sady příkazů RISC-V, navržený pro provádění paralelních výpočtů s využitím API OpenCL a modelu vykonávání SIMT (Single Instruction, Multiple Threads). Projekt může být také použit pro výzkum v oblasti 3D grafiky a vývoj nových architektur GPU. Schémata, popisy hardwarových bloků v jazyce Verilog, simulátor, ovladače a související projektová dokumentace jsou distribuovány pod licencí Apache 2.0.

Základem GPGPU je typový ISA RISC-V, rozšířený o některé další instrukce potřebné k podpoře funkcí GPU a řízení vláken. Při tom jsou změny v architektuře instrukčního souboru RISC-V minimalizovány a co nejvíce se využívají již existující vektorové instrukce. Podobný přístup se používá v projektu RV64X, který také rozvíjí otevřený GPU založený na technologiích RISC-V.

K dispozici je Vortex 2.0, otevřený GPGPU založený na architektuře RISC-V

Pro grafiku na technologiích Vortex se vyvíjí otevřený GPU Skybox, který podporuje grafický API Vulkan. Prototyp Skybox, vytvořený na bázi FPGA Altera Stratix 10 a zahrnující 32 jader (512 vláken), umožnil při frekvenci 230 MHz dosáhnout výkonu plnění ve výši 3,7 gigapixelů za sekundu (29,4 gigatranzakcí za sekundu). Uvádí se, že je to první otevřený GPU s softwarovou a hardwarovou realizací, který podporuje Vulkan.

Hlavní vlastnosti Vortex:

  • Podpora 32- a 64bitových architektur instrukčního souboru RISC-V RV32IMF a RV64IMAFD.
  • Nastavitelné množství jader, bloků úloh (warps) a vláken.
  • Nastavitelné množství ALU, FPU, LSU a SFU pro každé jádro.
  • Nastavitelná šířka vydávání konvejeru (pipeline issue width).
  • Volitelná sdílená paměť a cache úrovní L1, L2 a L3.
  • Podpora specifikace OpenCL 1.2.
  • Možnost implementace na bázi FPGA Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280 a Xilinx Versal VCK5000.
  • Rozšířené instrukce: «tex» pro urychlení zpracování textur, vx_rast pro řízení rastrování, vx_rop pro zpracování fragmentů, hloubky a průhlednosti, vx_imadd pro provádění operace «násobit a sečíst», vx_wspawn, vx_tmc a vx_bar pro aktivaci front instrukcí a vláken v nich (wavefront, soubor nití, paralelně prováděných SIMD Engine), vx_split a vx_join.
  • Podpora mezivstupního zobrazení shaderů SPIR-V je realizována prostřednictvím translace do OpenCL.
  • Pro vývoj aplikací je nabízen nástroj zahrnující přizpůsobené varianty PoCL (kompilátor a runtime OpenCL), LLVM/Clang, GCC a Binutils pro práci s Vortex.
  • Je podporována simulace čipu pomocí Verilator (Verilog simulátor), RTLSIM (simulace RTL) a SimX (softwarová simulace).

Mezi změnami ve verzi Vortex 2.0:

  • Byla provedena optimalizace mikroarchitektury.
  • Byla přidána podpora 64bitové architektury RISC-V RV64IMAFD.
  • Byla přidána možnost realizace na základě FPGA Xilinx.
  • Byla přidána podpora LLVM 16 a Ubuntu 20.04.
  • Proběhlo refaktoring a opravy nedostatků zjištěných při hodnocení kvality.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster