Hyesoon Kim 66e253ab95 Merge pull request #25 from SantoshSrivatsan24/assignment5
Solution for Vortex tutorial assignment 5
2021-10-18 08:17:54 -04:00
2021-10-11 19:02:13 -07:00
2021-10-11 19:02:13 -07:00
2021-10-15 18:25:54 -04:00
2021-10-15 18:25:54 -04:00
2020-08-25 07:10:45 -04:00
2021-10-10 13:20:50 -07:00
2021-09-08 23:22:50 -04:00
2021-07-13 18:56:12 -04:00
2021-10-09 10:20:42 -04:00
2021-10-09 10:20:42 -04:00
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 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
No description provided
Readme Apache-2.0 314 MiB
Languages
C++ 30%
PostScript 29.1%
SystemVerilog 13.3%
Verilog 12.7%
C 8.4%
Other 6.4%