80 lines
2.2 KiB
Markdown
80 lines
2.2 KiB
Markdown
[](https://travis-ci.com/vortexgpgpu/vortex)
|
|
[](https://codecov.io/gh/vortexgpgpu/vortex)
|
|
|
|
# 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](doc/Vortex.md).
|
|
|
|
- `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
|