minor update

This commit is contained in:
Blaise Tine 2023-03-07 00:45:31 -05:00
parent 974c9e711b
commit fa1a32ab32
8 changed files with 27 additions and 24 deletions

View file

@ -9,19 +9,21 @@ addons:
packages:
- build-essential
- valgrind
- verilator
- yosys
- libpng-dev
- libboost-serialization-dev
- libstdc++6
install:
# Set environments
- export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
- export VERILATOR_ROOT=/opt/verilator
- export PATH=$VERILATOR_ROOT/bin:$PATH
install:
# Install toolchain
- ci/toolchain_install.sh -all
- export TOOLDIR=$HOME/tools
- mkdir -p $TOOLDIR
- DESTDIR=$TOOLDIR ./ci/toolchain_install.sh -all
# Set environments
- export RISCV_TOOLCHAIN_PATH=$TOOLDIR/riscv-gnu-toolchain
- export LLVM_VORTEX=$TOOLDIR/llvm_vortex
- export VERILATOR_ROOT=$TOOLDIR/verilator
- export PATH=$VERILATOR_ROOT/bin:$PATH
# build project
- make -s

View file

@ -22,8 +22,8 @@ riscv()
done
cat riscv-gnu-toolchain.tar.bz2.parta* > riscv-gnu-toolchain.tar.bz2
tar -xvf riscv-gnu-toolchain.tar.bz2
rm -f riscv-gnu-toolchain.tar.bz2*
cp -r riscv-gnu-toolchain $DESTDIR
rm -f riscv-gnu-toolchain.tar.bz2*
rm -rf riscv-gnu-toolchain
}
@ -36,8 +36,8 @@ riscv64()
done
cat riscv64-gnu-toolchain.tar.bz2.parta* > riscv64-gnu-toolchain.tar.bz2
tar -xvf riscv64-gnu-toolchain.tar.bz2
rm -f riscv64-gnu-toolchain.tar.bz2*
cp -r riscv64-gnu-toolchain $DESTDIR
rm -f riscv64-gnu-toolchain.tar.bz2*
rm -rf riscv64-gnu-toolchain
}
@ -55,8 +55,8 @@ llvm()
done
cat llvm-vortex.tar.bz2.parta* > llvm-vortex.tar.bz2
tar -xvf llvm-vortex.tar.bz2
rm -f llvm-vortex.tar.bz2*
cp -r llvm-vortex $DESTDIR
rm -f llvm-vortex.tar.bz2*
rm -rf llvm-vortex
}
@ -73,8 +73,8 @@ verilator()
{
wget $REPOSITORY/verilator/$OS/verilator2.tar.bz2
tar -xvf verilator2.tar.bz2
rm -f verilator2.tar.bz2
cp -r verilator $DESTDIR
rm -f verilator2.tar.bz2
rm -rf verilator
}

View file

@ -26,7 +26,7 @@ def execute(command):
if output == '' and process.poll() is not None:
break
if output:
print(">>> " + output.rstrip())
print(">>> " + str(output.rstrip()))
process.stdout.flush()
return process.returncode

View file

@ -18,9 +18,8 @@ The directory/file layout of the Vortex codebase is as followed:
- `driver`: host drivers repository
- `include`: Vortex driver public headers
- `stub`: Vortex stub driver library
- `fpga`: software driver that uses Intel OPAE FPGA
- `asesim`: software driver that uses Intel ASE simulator
- `vlsim`: software driver that uses vlsim simulator
- `opae`: software driver that uses Intel OPAE API with optional environment TARGET=asesim|opaesim|fpga
- `xrt`: software driver that uses Xilinx XRT API with optional environment TARGET=sw_emu|hw_emu|hw
- `rtlsim`: software driver that uses rtlsim simulator
- `simx`: software driver that uses simX simulator
- `runtime`: kernel runtime software
@ -28,7 +27,7 @@ The directory/file layout of the Vortex codebase is as followed:
- `linker`: linker file for compiling kernels
- `src`: runtime implementation
- `sim`:
- `vlsim`: AFU RTL simulator
- `opaesim`: Intel OPAE AFU RTL simulator
- `rtlsim`: processor RTL simulator
- `simX`: cycle approximate simulator for vortex
- `tests`: tests repository.

View file

@ -27,8 +27,8 @@ To debug the processor RTL, you need to use VLSIM or RTLSIM driver. VLSIM simula
The recommended method to enable debugging is to pass the `--debug` flag to `blackbox` tool when running a program.
// Running demo program on vlsim in debug mode
$ ./ci/blackbox.sh --driver=vlsim --app=demo --debug=1
// Running demo program on the opae simulator in debug mode
$ TARGET=opaesim ./ci/blackbox.sh --driver=opae --app=demo --debug=1
// Running demo program on rtlsim in debug mode
$ ./ci/blackbox.sh --driver=rtlsim --app=demo --debug=1

View file

@ -21,9 +21,11 @@ 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
$ ./ci/blackbox.sh --driver=rtlsim --clusters=2 --cores=2 --warps=2 --threads=4 --app=basic
- Run demo driver test with vlsim driver and Vortex config of 1 clusters, 4 cores, 4 warps, 2 threads
$ ./ci/blackbox.sh --driver=vlsim --clusters=1 --cores=4 --warps=4 --threads=2 --app=demo
- Run demo driver test with opae driver and Vortex config of 1 clusters, 4 cores, 4 warps, 2 threads
$ ./ci/blackbox.sh --driver=opae --clusters=1 --cores=4 --warps=4 --threads=2 --app=demo
- Run dogfood driver test with simx driver and Vortex config of 4 cluster, 4 cores, 8 warps, 6 threads
$ ./ci/blackbox.sh --driver=simx --clusters=4 --cores=4 --warps=8 --threads=6 --app=dogfood

View file

@ -22,15 +22,15 @@ Running tests under specific drivers (rtlsim,simx,fpga) is done using the script
- *Threads* - used to specify the number of threads (smallest unit of computation) within a configuration.
- *L2cache* - used to enable the shard l2cache among the Vortex cores.
- *L3cache* - used to enable the shared l3cache among the Vortex clusters.
- *Driver* - used to specify which driver to run the Vortex simulation (either rtlsim, vlsim, fpga, or simx).
- *Driver* - used to specify which driver to run the Vortex simulation (either rtlsim, opae, xrt, simx).
- *Debug* - used to enable debug mode for the Vortex simulation.
- *Perf* - used to enable the detailed performance counters within the Vortex simulation.
- *App* - used to specify which test/benchmark to run in the Vortex simulation. The main choices are vecadd, sgemm, basic, demo, and dogfood. Other tests/benchmarks are located in the `/benchmarks/opencl` folder though not all of them work wit the current version of Vortex.
- *Args* - used to pass additional arguments to the application.
Example use of command line arguments: Run the sgemm benchmark using the vlsim driver with a Vortex configuration of 1 cluster, 4 cores, 4 warps, and 4 threads.
Example use of command line arguments: Run the sgemm benchmark using the opae driver with a Vortex configuration of 1 cluster, 4 cores, 4 warps, and 4 threads.
$ ./ci/blackbox.sh --clusters=1 --cores=4 --warps=4 --threads=4 --driver=vlsim --app=sgemm
$ ./ci/blackbox.sh --clusters=1 --cores=4 --warps=4 --threads=4 --driver=opae --app=sgemm
Output from terminal:
```

View file

@ -23,5 +23,5 @@ void perf_add_device(vx_device_h device);
void perf_remove_device(vx_device_h device);
#define CACHE_BLOCK_SIZE 64
#define ALLOC_BASE_ADDR 0x00000004
#define ALLOC_BASE_ADDR CACHE_BLOCK_SIZE
#define LOCAL_MEM_SIZE 4294967296 // 4 GB