Blaise Tine 970cbf066a cleanup
2023-11-03 08:09:59 -04:00
2023-10-19 20:51:22 -07:00
2023-10-19 20:51:22 -07:00
2023-10-22 23:31:58 -07:00
2023-10-20 00:48:05 -07:00
2023-10-19 20:51:22 -07:00
2023-10-19 20:51:22 -07:00
2023-10-22 02:25:34 -07:00
2023-11-03 08:09:59 -04:00
2023-10-19 20:51:22 -07:00
2023-10-20 02:21:20 -07:00
2020-08-25 07:10:45 -04:00
2023-10-19 20:51:22 -07:00
2023-10-19 20:51:22 -07:00
2023-10-19 20:51:22 -07:00
2023-10-19 20:51:22 -07:00
2023-10-19 20:51:22 -07:00
2019-11-07 20:52:36 -05:00

Build Status codecov

Vortex GPGPU

Vortex is a full-stack open-source RISC-V GPGPU.

Specifications

  • Support RISC-V RV32IMAF and RV64IMAFD
  • Microarchitecture:
    • configurable number of cores, warps, and threads.
    • configurable number of ALU, FPU, LSU, and SFU units per core.
    • configurable pipeline issue width.
    • optional shared memory, L1, L2, and L3 caches.
  • Software:
    • OpenCL 1.2 Support.
  • Supported FPGAs:
    • Altera Arria 10
    • Altera Stratix 10
    • Xilinx Alveo U50, U250, U280
    • Xilinx Versal VCK5000

Directory structure

  • doc: Documentation.
  • hw: Hardware sources.
  • driver: Host drivers repository.
  • runtime: Kernel Runtime software.
  • sim: Simulators repository.
  • tests: Tests repository.
  • ci: Continuous integration scripts.
  • miscs: Miscellaneous resources.

Build Instructions

Supported OS Platforms

  • Ubuntu 18.04
  • Centos 7

Toolchain Dependencies

Install development tools

$ sudo apt-get install build-essential
$ sudo apt-get install git

Install Vortex codebase

$ git clone --recursive https://github.com/vortexgpgpu/vortex.git
$ cd Vortex

Install prebuilt toolchain

$ ./ci/toolchain_install.sh --all

By default, the toolchain will install to /opt folder. 
You can install the toolchain to a different directory by overiding DESTDIR.

$ DESTDIR=$TOOLDIR ./ci/toolchain_install.sh --all
$ export VORTEX_HOME=$TOOLDIR/vortex
$ export LLVM_VORTEX=$TOOLDIR/llvm-vortex
$ export LLVM_POCL=$TOOLDIR/llvm-pocl
$ export RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv-gnu-toolchain
$ export VERILATOR_ROOT=$TOOLDIR/verilator
$ export PATH=$VERILATOR_ROOT/bin:$PATH 

Build Vortex sources

$ make -s

Quick demo running vecadd OpenCL kernel on 2 cores

$ ./ci/blackbox.sh --cores=2 --app=vecadd
Description
No description provided
Readme Apache-2.0 314 MiB
Languages
C++ 30%
PostScript 29.1%
SystemVerilog 13.3%
Verilog 12.7%
C 8.4%
Other 6.4%