28e26f31309c2eec854b130ce596a6d51d290d93
Vortex RISC-V GPGPU
Vortex is a full-system RISCV-based GPGPU processor.
Specifications
- Support RISC-V RV32IMF ISA
- Performance:
- 1024 total threads running at 250 MHz
- 128 Gflops of compute bandwidth
- 16 GB/s of memory bandwidth
- Scalability: up to 64 cores with optional L2 and L3 caches
- Software: OpenCL 1.2 Support
- Supported FPGAs:
- Intel Arria 10
- Intel Stratix 10
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.
Basic Installation
Install development tools
$ sudo apt-get install build-essential
$ sudo apt-get install git
Install gnu-riscv-tools
$ export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
$ sudo apt-get -y install \
binutils build-essential libtool texinfo \
gzip zip unzip patchutils curl git \
make cmake ninja-build automake bison flex gperf \
grep sed gawk python bc \
zlib1g-dev libexpat1-dev libmpc-dev \
libglib2.0-dev libfdt-dev libpixman-1-dev
$ git clone https://github.com/riscv/riscv-gnu-toolchain
$ cd riscv-gnu-toolchain
$ git submodule update --init --recursive
$ mkdir build
$ cd build
$ ../configure --prefix=$RISCV_TOOLCHAIN_PATH --with-arch=rv32im --with-abi=ilp32
$ make -j`nproc`
$ make -j`nproc` build-qemu
Install Verilator
You need into build the latest version using the instructions on their website
$ https://www.veripool.org/projects/verilator/wiki/Installing
Install Vortex
$ git clone --recursive https://github.com/vortexgpgpu/vortex.git
$ cd Vortex
$ make
Quick Test running OpenCL vecadd sample 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%