95e3e96c6c8a04f1cb03dccf7fbe75d2d6c02c6f
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
More detailed build instructions can be found here.
Supported OS Platforms
- Ubuntu 18.04, 20.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
By default, the toolchain will install to /opt folder which requires sudo access.
You can install the toolchain to a different location of your choice by setting TOOLDIR (e.g. export TOOLDIR=$HOME/tools).
$ export TOOLDIR=/opt
$ ./ci/toolchain_install.sh --all
$ source ./ci/toolchain_env.sh
Build Vortex sources
$ make -s
Quick demo running vecadd OpenCL kernel on 2 cores
$ ./ci/blackbox.sh --cores=2 --app=vecadd
Description
Languages
C++
72%
C
24%
Python
1.5%
Shell
1.1%
Makefile
0.8%
Other
0.6%