94ad34768bb37773e5cb3e4483d2c864e6fdaaaa
Conflicts: hw/rtl/VX_core.v hw/rtl/VX_csr_data.v hw/rtl/VX_csr_unit.v hw/rtl/VX_decode.v hw/rtl/VX_define.vh hw/rtl/VX_execute.v hw/rtl/VX_gpu_unit.v hw/rtl/VX_instr_demux.v hw/rtl/VX_lsu_unit.v hw/rtl/VX_mem_unit.v hw/rtl/VX_pipeline.v hw/rtl/VX_platform.vh hw/rtl/VX_smem_arb.v hw/rtl/VX_writeback.v hw/rtl/cache/VX_bank.v hw/rtl/interfaces/VX_cache_mem_req_if.v hw/rtl/interfaces/VX_cache_mem_rsp_if.v hw/rtl/interfaces/VX_dcache_core_rsp_if.v hw/rtl/interfaces/VX_dcache_req_if.v hw/rtl/interfaces/VX_icache_core_rsp_if.v hw/rtl/tex_unit/VX_tex_memory.v hw/rtl/tex_unit/VX_tex_unit.v hw/simulate/Makefile hw/syn/quartus/pipeline/Makefile hw/unit_tests/tex_unit/tex_sampler/main.cpp hw/unit_tests/tex_unit/tex_sampler/vl_simulator.h runtime/include/vx_intrinsics.h
Vortex RISC-V GPGPU
Vortex is a full-system RISCV-based GPGPU processor.
Specifications
- Support RISC-V RV32IMF ISA
- Scalability: 1 to 32 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 driver software. -
runtime: Kernel Runtime software. -
simX: Cycle-approximate simulator. -
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
Languages
C++
30%
PostScript
29.1%
SystemVerilog
13.3%
Verilog
12.7%
C
8.4%
Other
6.4%