No description
Find a file
2021-06-22 09:34:35 -07:00
ci minor update 2021-06-22 09:30:36 -07:00
doc project tests refactoring 2021-06-13 17:42:04 -07:00
driver minor update 2021-06-22 09:30:36 -07:00
hw relaxing fcvt critical path 2021-06-22 09:34:35 -07:00
miscs mutiple fixes: parallel printf, fixed cycle in cache, opencl refactored vecadd and sgemm, regen opencl kernels with hard-float, fixed vortex io bus interface, fixed dpi floats APi to support multicore mode, make vlsim multicore default, make rtlsim multi-core default, removed POCL binaries from repository, updated Makefiles to use external POCL 2020-09-19 14:45:42 -04:00
runtime vortex runtime console out implementation 2021-06-15 04:01:44 -04:00
simX vortex runtime console out implementation 2021-06-15 04:01:44 -04:00
tests minor update 2021-06-22 09:30:36 -07:00
.codecov.yml Create .codecov.yml 2020-08-25 07:10:45 -04:00
.gitmodules lkg build rollout with 16cores optimization on arria10 2021-01-24 16:49:22 -08:00
.travis.yml minor update 2021-05-24 18:20:46 -07:00
LICENSE Create LICENSE 2020-01-11 11:00:37 -05:00
Makefile project tests refactoring 2021-06-13 17:42:04 -07:00
README.md Linked Vortex.md in README 2021-04-05 14:09:01 -04:00
RELEASE LKG FPGA build - Passed basic, demo, vecadd kernels 2020-07-01 09:39:53 -07:00
TODO TODO update 2019-11-07 20:52:36 -05:00

Build Status codecov

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 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 program

$ cd /Vortex/benchmarks/opencl/vecadd
$ make
$ make run-rtlsim