# Vortex RISC-V GPGPU Vortex is a full-system RISCV-based GPGPU processor. Specifications -------------- - Support RISC-V RV32I ISA - Fully scalable: 1 to 16 cores with optional L2 and L3 caches - OpenCL 1.2 Support - FPGA target: Intel Arria 10 @ 200 MHz peak Freq Directory structure ------------------- - benchmarks: OpenCL and RISC-V benchmarks - docs: documentation. - hw: hardware sources. - driver: driver software. - runtime: runtime software for kernels. - simX: Vortex cycle-approximate simulator. - evaluation: synthesis and performance data. Basic Installation ------------------ Install development tools $ sudo apt-get install build-essential $ sudo apt-get install git Install gnu-riscv-tools $ export RISC_GNU_TOOLS_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=$RISC_GNU_TOOLS_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 https://github.gatech.edu/casl/Vortex.git $ cd Vortex $ make Quick Test running SGEMM kernel $ cd /Vortex/benchmarks/opencl/sgemm $ make $ make run