No description
Find a file
2020-06-29 08:21:32 -07:00
benchmarks fixed OpenCL kernels 2020-06-27 19:28:00 -04:00
docs fpga_synthesis merge 2020-06-23 12:41:26 -07:00
driver set target synthesis freq=200 MHz, set 4-cores as default config, MULT.latency=1, DIV.latency=18 2020-06-29 08:03:19 -07:00
evaluation refactoring fixes 2020-04-14 19:39:59 -04:00
hw set target synthesis freq=200 MHz, set 4-cores as default config, MULT.latency=1, DIV.latency=18 2020-06-29 08:03:19 -07:00
miscs merge fixes 2020-06-23 14:34:23 -07:00
runtime adding built kernels 2020-06-29 02:01:51 -04:00
simX merge fixes 2020-06-23 14:40:29 -07:00
LICENSE Create LICENSE 2020-01-11 11:00:37 -05:00
Makefile VX_pipeline refactoring + logic analyzer 2020-06-06 01:52:44 -04:00
README.md update README 2020-06-29 08:21:32 -07:00
TODO TODO update 2019-11-07 20:52:36 -05:00

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

  • /benchmark: containts test benchmarks

  • /docs: contains documentation.

  • /hw: constains hardware sources.

  • /driver: contains the driver software.

  • /runtime: contains the runtime software for kernels.

  • /simX: contains a cycle-approximate simulator for Vortex.

  • /evaluation: contains the synthesis/perf reports.

Basic Instructions to run OpenCL Benchmarks on Vortex

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

Run SGEMM OpenCL Benchmark

$ cd Vortex/benchmarks/opencl/sgemm
$ make
$ make run