documentation udpate
51
README.md
@@ -5,40 +5,41 @@
|
|||||||
|
|
||||||
Vortex is a full-system RISCV-based GPGPU processor.
|
Vortex is a full-system RISCV-based GPGPU processor.
|
||||||
|
|
||||||
Specifications
|
## Specifications
|
||||||
--------------
|
|
||||||
|
|
||||||
- Support RISC-V RV32I ISA
|
- Support RISC-V RV32IMF ISA
|
||||||
- Fully scalable: 1 to 16 cores with optional L2 and L3 caches
|
- Scalability: 1 to 32 cores with optional L2 and L3 caches
|
||||||
- OpenCL 1.2 Support
|
- Software: OpenCL 1.2 Support
|
||||||
- FPGA target: Intel Arria 10 @ 200 MHz peak Freq
|
- Supported FPGAs:
|
||||||
|
- Intel Arria 10
|
||||||
|
- Intel Stratix 10
|
||||||
|
|
||||||
Directory structure
|
## Directory structure
|
||||||
-------------------
|
|
||||||
|
|
||||||
- benchmarks: OpenCL and RISC-V benchmarks
|
- `doc`: [Documentation](doc/Vortex.md).
|
||||||
|
|
||||||
- docs: [documentation](https://github.com/vortexgpgpu/vortex-dev/blob/master/doc/Vortex.md).
|
|
||||||
|
|
||||||
- hw: hardware sources.
|
- `hw`: Hardware sources.
|
||||||
|
|
||||||
- driver: driver software.
|
- `driver`: Host driver software.
|
||||||
|
|
||||||
- runtime: runtime software for kernels.
|
- `runtime`: Kernel Runtime software.
|
||||||
|
|
||||||
- simX: Vortex cycle-approximate simulator.
|
- `simX`: Cycle-approximate simulator.
|
||||||
|
|
||||||
- evaluation: synthesis and performance data.
|
- `tests`: Tests repository.
|
||||||
|
|
||||||
Basic Installation
|
- `ci`: Continuous integration scripts.
|
||||||
------------------
|
|
||||||
|
|
||||||
Install development tools
|
- `miscs`: Miscellaneous resources.
|
||||||
|
|
||||||
|
## Basic Installation
|
||||||
|
|
||||||
|
### Install development tools
|
||||||
|
|
||||||
$ sudo apt-get install build-essential
|
$ sudo apt-get install build-essential
|
||||||
$ sudo apt-get install git
|
$ sudo apt-get install git
|
||||||
|
|
||||||
Install gnu-riscv-tools
|
### Install gnu-riscv-tools
|
||||||
|
|
||||||
$ export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
|
$ export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
|
||||||
|
|
||||||
@@ -58,19 +59,17 @@ Install gnu-riscv-tools
|
|||||||
$ make -j`nproc`
|
$ make -j`nproc`
|
||||||
$ make -j`nproc` build-qemu
|
$ make -j`nproc` build-qemu
|
||||||
|
|
||||||
Install Verilator
|
### Install Verilator
|
||||||
|
|
||||||
You need into build the latest version using the instructions on their website
|
You need into build the latest version using the instructions on their website
|
||||||
$ https://www.veripool.org/projects/verilator/wiki/Installing
|
$ https://www.veripool.org/projects/verilator/wiki/Installing
|
||||||
|
|
||||||
Install Vortex
|
### Install Vortex
|
||||||
|
|
||||||
$ git clone --recursive https://github.com/vortexgpgpu/vortex.git
|
$ git clone --recursive https://github.com/vortexgpgpu/vortex.git
|
||||||
$ cd Vortex
|
$ cd Vortex
|
||||||
$ make
|
$ make
|
||||||
|
|
||||||
Quick Test running OpenCL vecadd program
|
### Quick Test running OpenCL vecadd sample on 2 cores
|
||||||
|
|
||||||
$ cd /Vortex/benchmarks/opencl/vecadd
|
$ ./ci/blackbox.sh --cores=2 --app=vecadd
|
||||||
$ make
|
|
||||||
$ make run-rtlsim
|
|
||||||
|
|||||||
@@ -151,6 +151,10 @@ then
|
|||||||
OPTS=$ARGS make -C $APP_PATH run-$DRIVER > run.log 2>&1
|
OPTS=$ARGS make -C $APP_PATH run-$DRIVER > run.log 2>&1
|
||||||
else
|
else
|
||||||
make -C $APP_PATH run-$DRIVER > run.log 2>&1
|
make -C $APP_PATH run-$DRIVER > run.log 2>&1
|
||||||
|
|
||||||
|
if [ -f "$APP_PATH/trace.vcd" ]
|
||||||
|
then
|
||||||
|
mv $APP_PATH/trace.vcd .
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ $SCOPE -eq 1 ]
|
if [ $SCOPE -eq 1 ]
|
||||||
|
|||||||
@@ -1,26 +1,24 @@
|
|||||||
# Vortex Documentation
|
# Vortex Documentation
|
||||||
|
|
||||||
### Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
- [Vortex Codebase Layout](https://github.com/vortexgpgpu/vortex-dev/blob/master/doc/Codebase.md)
|
- [Codebase Layout](codebase.md)
|
||||||
- [Vortex Microarchitecture and Extended RISC-V ISA](https://github.com/vortexgpgpu/vortex-dev/blob/master/doc/Microarchitecture.md)
|
- [Microarchitecture](microarchitecture.md)
|
||||||
- [Vortex Cache Subsystem](https://github.com/vortexgpgpu/vortex-dev/blob/master/doc/Cache_Subsystem.md)
|
- [Cache Subsystem](cache_subsystem.md)
|
||||||
- Vortex Software
|
- [Software](software.md)
|
||||||
- [Vortex Simulation](https://github.com/vortexgpgpu/vortex-dev/blob/master/doc/Simulation.md)
|
- [Simulation](simulation.md)
|
||||||
- [FPGA Configuration, Program and Test](https://github.com/vortexgpgpu/vortex-dev/blob/master/doc/FPGA_Startup_Guide.md)
|
- [FPGA Setup Guide](fpga_setup.md)
|
||||||
- Debugging
|
- [Debugging](debugging.md)
|
||||||
- Useful Links
|
- [Useful Links](references.md)
|
||||||
|
|
||||||
### Quick Start
|
|
||||||
|
|
||||||
Setup Vortex environment:
|
## Installation
|
||||||
```
|
|
||||||
$ export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
|
|
||||||
$ export PATH=:/opt/verilator/bin:$PATH
|
|
||||||
$ export VERILATOR_ROOT=/opt/verilator
|
|
||||||
```
|
|
||||||
|
|
||||||
Test Vortex with different drivers and configurations:
|
- Refer to the install instructions in [README](../README.md).
|
||||||
|
|
||||||
|
## Quick Start Scenarios
|
||||||
|
|
||||||
|
Running Vortex simulators with different configurations:
|
||||||
- Run basic driver test with rtlsim driver and Vortex config of 2 clusters, 2 cores, 2 warps, 4 threads
|
- Run basic driver test with rtlsim driver and Vortex config of 2 clusters, 2 cores, 2 warps, 4 threads
|
||||||
|
|
||||||
$ ./ci/blackbox.sh --clusters=2 --cores=2 --warps=2 --threads=4 --driver=rtlsim --app=basic
|
$ ./ci/blackbox.sh --clusters=2 --cores=2 --warps=2 --threads=4 --driver=rtlsim --app=basic
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 517 KiB After Width: | Height: | Size: 517 KiB |
@@ -17,15 +17,11 @@ CXXFLAGS += -DDUMP_PERF_STATS
|
|||||||
LDFLAGS += -shared -pthread
|
LDFLAGS += -shared -pthread
|
||||||
#LDFLAGS += -dynamiclib -pthread
|
#LDFLAGS += -dynamiclib -pthread
|
||||||
|
|
||||||
DBG_FLAGS += -DDEBUG_LEVEL=3
|
|
||||||
|
|
||||||
SRCS = vortex.cpp ../common/vx_utils.cpp
|
SRCS = vortex.cpp ../common/vx_utils.cpp
|
||||||
SRCS += $(SIMX_DIR)/util.cpp $(SIMX_DIR)/args.cpp $(SIMX_DIR)/mem.cpp $(SIMX_DIR)/pipeline.cpp $(SIMX_DIR)/warp.cpp $(SIMX_DIR)/core.cpp $(SIMX_DIR)/decode.cpp $(SIMX_DIR)/execute.cpp
|
SRCS += $(SIMX_DIR)/util.cpp $(SIMX_DIR)/args.cpp $(SIMX_DIR)/mem.cpp $(SIMX_DIR)/pipeline.cpp $(SIMX_DIR)/warp.cpp $(SIMX_DIR)/core.cpp $(SIMX_DIR)/decode.cpp $(SIMX_DIR)/execute.cpp
|
||||||
|
|
||||||
# Debugigng
|
# Debugigng
|
||||||
ifdef DEBUG
|
ifndef DEBUG
|
||||||
CXXFLAGS += $(DBG_FLAGS)
|
|
||||||
else
|
|
||||||
CXXFLAGS += -DNDEBUG
|
CXXFLAGS += -DNDEBUG
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||