parallelizing continious integration
This commit is contained in:
29
.travis.yml
29
.travis.yml
@@ -13,15 +13,30 @@ addons:
|
|||||||
- yosys
|
- yosys
|
||||||
|
|
||||||
install:
|
install:
|
||||||
# TOOLCHAIN
|
# Set environments
|
||||||
- ci/toolchain_install.sh -all
|
|
||||||
- export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
|
- export RISCV_TOOLCHAIN_PATH=/opt/riscv-gnu-toolchain
|
||||||
- export VERILATOR_ROOT=/opt/verilator
|
- export VERILATOR_ROOT=/opt/verilator
|
||||||
- export PATH=$VERILATOR_ROOT/bin:$PATH
|
- export PATH=$VERILATOR_ROOT/bin:$PATH
|
||||||
|
# Install toolchain
|
||||||
script:
|
- ci/toolchain_install.sh -all
|
||||||
- ./ci/regression.sh
|
# clone build directory
|
||||||
- ./ci/test_compiler.sh
|
- make -s
|
||||||
|
- cp -r $PWD ../build1
|
||||||
|
- cp -r $PWD ../build2
|
||||||
|
- cp -r $PWD ../build3
|
||||||
|
- cp -r $PWD ../build4
|
||||||
|
- cp -r $PWD ../build5
|
||||||
|
- cp -r $PWD ../build6
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- stage: test
|
||||||
|
script: cd ../build1 && ./ci/regression.sh -coverage
|
||||||
|
script: cd ../build2 && ./ci/regression.sh -cluster
|
||||||
|
script: cd ../build3 && ./ci/regression.sh -debug
|
||||||
|
script: cd ../build4 && ./ci/regression.sh -config
|
||||||
|
script: cd ../build5 && ./ci/regression.sh -stress
|
||||||
|
script: cd ../build6 && ./ci/test_compiler.sh
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
# Gather code coverage
|
# Gather code coverage
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ set -e
|
|||||||
# build sources
|
# build sources
|
||||||
make -s
|
make -s
|
||||||
|
|
||||||
|
coverage()
|
||||||
|
{
|
||||||
# coverage tests
|
# coverage tests
|
||||||
make -C tests/runtime run-rtlsim
|
make -C tests/runtime run-rtlsim
|
||||||
make -C tests/riscv/isa run-rtlsim
|
make -C tests/riscv/isa run-rtlsim
|
||||||
@@ -15,7 +17,10 @@ make -C tests/runtime run-simx
|
|||||||
make -C tests/riscv/isa run-simx
|
make -C tests/riscv/isa run-simx
|
||||||
make -C tests/regression run-simx
|
make -C tests/regression run-simx
|
||||||
make -C tests/opencl run-simx
|
make -C tests/opencl run-simx
|
||||||
|
}
|
||||||
|
|
||||||
|
cluster()
|
||||||
|
{
|
||||||
# warp/threads configurations
|
# warp/threads configurations
|
||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=1 --warps=2 --threads=8 --app=demo
|
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=1 --warps=2 --threads=8 --app=demo
|
||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=1 --warps=8 --threads=2 --app=demo
|
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=1 --warps=8 --threads=2 --app=demo
|
||||||
@@ -28,12 +33,18 @@ make -C tests/opencl run-simx
|
|||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --l2cache --app=demo --args="-n1"
|
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --l2cache --app=demo --args="-n1"
|
||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --clusters=2 --l3cache --app=demo --args="-n1"
|
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --clusters=2 --l3cache --app=demo --args="-n1"
|
||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --clusters=2 --l2cache --l3cache --app=io_addr --args="-n1"
|
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --clusters=2 --l2cache --l3cache --app=io_addr --args="-n1"
|
||||||
|
}
|
||||||
|
|
||||||
# build flags
|
debug()
|
||||||
|
{
|
||||||
|
# debugging
|
||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --perf --app=demo --args="-n1"
|
./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --perf --app=demo --args="-n1"
|
||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --debug --app=demo --args="-n1"
|
./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --debug --app=demo --args="-n1"
|
||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --scope --app=basic --args="-t0 -n1"
|
./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --scope --app=basic --args="-t0 -n1"
|
||||||
|
}
|
||||||
|
|
||||||
|
config()
|
||||||
|
{
|
||||||
# disabling M extension
|
# disabling M extension
|
||||||
CONFIGS=-DEXT_M_DISABLE make -C hw/simulate
|
CONFIGS=-DEXT_M_DISABLE make -C hw/simulate
|
||||||
|
|
||||||
@@ -75,6 +86,43 @@ CONFIGS="-DVERILATOR_RESET_VALUE=1" ./ci/blackbox.sh --driver=vlsim --cores=4 --
|
|||||||
|
|
||||||
# test long memory latency
|
# test long memory latency
|
||||||
CONFIGS="-DMEM_LATENCY=100 -DMEM_RQ_SIZE=4 -DMEM_STALLS_MODULO=4" ./ci/blackbox.sh --driver=vlsim --cores=1 --app=demo
|
CONFIGS="-DMEM_LATENCY=100 -DMEM_RQ_SIZE=4 -DMEM_STALLS_MODULO=4" ./ci/blackbox.sh --driver=vlsim --cores=1 --app=demo
|
||||||
|
}
|
||||||
|
|
||||||
|
stress()
|
||||||
|
{
|
||||||
# test pipeline stress
|
# test pipeline stress
|
||||||
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=1 --app=sgemm --args="-n128"
|
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --l2cache --app=sgemm --args="-n128"
|
||||||
|
./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=1 --app=sgemm --args="-n128"
|
||||||
|
}
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
echo "usage: regression [-coverage] [-cluster] [-debug] [-config] [-stress] [-all] [-h|--help]"
|
||||||
|
}
|
||||||
|
|
||||||
|
while [ "$1" != "" ]; do
|
||||||
|
case $1 in
|
||||||
|
-coverage ) coverage
|
||||||
|
;;
|
||||||
|
-cluster ) cluster
|
||||||
|
;;
|
||||||
|
-debug ) debug
|
||||||
|
;;
|
||||||
|
-config ) config
|
||||||
|
;;
|
||||||
|
-stress ) stress
|
||||||
|
;;
|
||||||
|
-all ) coverage
|
||||||
|
cluster
|
||||||
|
debug
|
||||||
|
config
|
||||||
|
stress
|
||||||
|
;;
|
||||||
|
-h | --help ) usage
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
* ) usage
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user