Vortex 2.0 is available, an open GPGPU based on the RISC-V architecture.

The second edition of the Vortex project has been published, which develops an open GPGPU based on the RISC-V instruction set architecture, designed for performing parallel computations using the OpenCL API and the SIMT (Single Instruction, Multiple Threads) execution model. The project can also be used for research in 3D graphics and the development of new GPU architectures. Schemas, hardware block descriptions in Verilog, simulators, drivers, and associated project documentation are distributed under the Apache 2.0 license.

The core of GPGPU is a typical RISC-V ISA, extended by some additional instructions necessary to support GPU functions and manage threads. At the same time, changes to the RISC-V instruction set architecture are minimized, and existing vector instructions are used wherever possible. A similar approach is applied in the RV64X project, which also develops an open GPU based on RISC-V technologies.

Vortex 2.0 is available, an open GPGPU based on the RISC-V architecture.

For graphics, the open GPU Skybox is being developed on Vortex technologies, supporting the Vulkan graphics API. The Skybox prototype, created on the Altera Stratix 10 FPGA and including 32 cores (512 threads), achieved a fill rate of 3.7 gigapixels per second (29.4 gigatransactions per second) at a frequency of 230 MHz. It is noted that this is the first open GPU with both software and hardware implementation supporting Vulkan.

Key features of Vortex:

  • Support for 32-bit and 64-bit RISC-V instruction set architectures RV32IMF and RV64IMAFD.
  • Customizable number of cores, task blocks (warps), and threads.
  • Customizable number of ALUs, FPUs, LSUs, and SFUs for each core.
  • Customizable pipeline issue width.
  • Optional shared memory and caches at levels L1, L2, and L3.
  • Support for OpenCL 1.2 specification.
  • Ability to implement on Altera Arria 10, Altera Stratix 10, Xilinx Alveo U50, U250, U280, and Xilinx Versal VCK5000 FPGA.
  • Extended instructions: 'tex' for enhanced texture processing, vx_rast for rasterization management, vx_rop for fragment, depth, and transparency handling, vx_imadd for multiply-and-add operations, vx_wspawn, vx_tmc, and vx_bar for activating instruction and thread fronts (wavefront, a set of threads executed in parallel by SIMD Engine), vx_split and vx_join.
  • Support for intermediate shader representation SPIR-V is implemented through translation to OpenCL.
  • For application development, a toolkit is offered, including adapted versions of PoCL (OpenCL compiler and runtime), LLVM/Clang, GCC, and Binutils for working with Vortex.
  • Chip operation simulation is supported using Verilator (Verilog simulator), RTLSIM (RTL simulation), and SimX (software simulation).

Changes in version Vortex 2.0 include:

  • Microarchitecture optimizations have been conducted.
  • Support for the 64-bit RISC-V instruction set architecture RV64IMAFD has been added.
  • The ability to implement on Xilinx FPGA has been added.
  • Support for LLVM 16 and Ubuntu 20.04 has been added.
  • Refactoring has been carried out, and fixes have been made for issues identified during quality assessment.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster