LSQ: optimize static clock gating coverage and fix x_value in vcs #7303
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file describes the GitHub Actions workflow for continuous integration of XS Core. | |
name: EMU Test | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
changes: # Changes Detection | |
name: Changes Detection | |
runs-on: ubuntu-latest | |
# Required permissions | |
permissions: | |
pull-requests: read | |
# Set job outputs to values from filter step | |
outputs: | |
core: ${{ steps.filter.outputs.core }} | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: dorny/paths-filter@v3 | |
id: filter | |
with: | |
predicate-quantifier: 'every' | |
filters: .github/filters.yaml | |
generate-verilog: | |
runs-on: bosc | |
needs: changes | |
if: ${{ needs.changes.outputs.core == 'true' }} | |
continue-on-error: false | |
timeout-minutes: 900 | |
name: Generate Verilog | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: set env | |
run: | | |
export HEAD_SHA=${{ github.run_number }} | |
echo "NOOP_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV | |
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV | |
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV | |
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA} | |
- name: clean up | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean | |
- name: check top wiring | |
run: | |
bash .github/workflows/check-usage.sh "BoringUtils" $GITHUB_WORKSPACE | |
- name: generate standalone clint | |
run: | | |
make StandAloneCLINT DEVICE_BASE_ADDR=0x38000000 DEVICE_ADDR_WIDTH=32 DEVICE_DATA_WIDTH=64 DEVICE_TL=0 | |
make clean | |
make StandAloneCLINT DEVICE_BASE_ADDR=0x38000000 DEVICE_ADDR_WIDTH=32 DEVICE_DATA_WIDTH=64 DEVICE_TL=1 | |
make clean | |
- name: generate standalone debug module | |
run: | | |
make StandAloneDebugModule DEVICE_BASE_ADDR=0x38020000 DEVICE_ADDR_WIDTH=32 DEVICE_DATA_WIDTH=64 DEVICE_TL=0 | |
make clean | |
make StandAloneDebugModule DEVICE_BASE_ADDR=0x38020000 DEVICE_ADDR_WIDTH=32 DEVICE_DATA_WIDTH=64 DEVICE_TL=1 | |
make clean | |
- name: generate XSNoCTop verilog file | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --generate --config XSNoCTopConfig --mfc | |
- name: check XSNoCTop verilog | |
run: | | |
python3 $GITHUB_WORKSPACE/.github/workflows/check_verilog.py build/rtl | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean | |
- name: generate verilog file | |
run: | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --generate --num-cores 2 --mfc | |
- name: check verilog | |
run: | | |
python3 $GITHUB_WORKSPACE/.github/workflows/check_verilog.py build/rtl | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean | |
- name: build MinimalConfig Release emu | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --build \ | |
--threads 8 --config MinimalConfig --release --mfc | |
- name: run MinimalConfig - Linux | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --numa --ci linux-hello-opensbi 2> perf.log | |
cat perf.log | sort | |
emu-basics: | |
runs-on: bosc | |
needs: changes | |
if: ${{ needs.changes.outputs.core == 'true' }} | |
continue-on-error: false | |
timeout-minutes: 900 | |
name: EMU - Basics | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: set env | |
run: | | |
export HEAD_SHA=${{ github.run_number }} | |
echo "NOOP_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV | |
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV | |
echo "AM_HOME=/nfs/home/share/ci-workloads/nexus-am" >> $GITHUB_ENV | |
echo "PERF_HOME=/nfs/home/ci-runner/xs-perf/${HEAD_SHA}" >> $GITHUB_ENV | |
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV | |
mkdir -p /nfs/home/ci-runner/xs-perf/${HEAD_SHA} | |
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA} | |
- name: clean up | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean | |
- name: Build EMU | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --build --threads 16 --mfc \ | |
--pgo $GITHUB_WORKSPACE/ready-to-run/coremark-2-iteration.bin --llvm-profdata llvm-profdata | |
- name: Basic Test - cputest | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --ci cputest 2> /dev/zero | |
- name: Basic Test - riscv-tests | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --rvtest /nfs/home/share/ci-workloads/riscv-tests --ci riscv-tests 2> /dev/zero | |
- name: Basic Test - misc-tests | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --ci misc-tests 2> /dev/zero | |
- name: Basic Test - nodiff-tests | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --no-diff --ci nodiff-tests 2> /dev/zero | |
- name: Simple Test - microbench | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --ci microbench 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/microbench.log | |
- name: Simple Test - CoreMark | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --ci coremark 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/coremark.log | |
- name: System Test - Linux | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --ci linux-hello-opensbi 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/linux.log | |
- name: Floating-point Test - povray | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --max-instr 5000000 --ci povray 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/povray.log | |
- name: Uncache Fetch Test - copy and run | |
run: | | |
$GITHUB_WORKSPACE/build/emu -F $GITHUB_WORKSPACE/ready-to-run/copy_and_run.bin -i $GITHUB_WORKSPACE/ready-to-run/microbench.bin --diff $GITHUB_WORKSPACE/ready-to-run/riscv64-nemu-interpreter-so --enable-fork 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/copy_and_run.log | |
emu-chi: | |
runs-on: bosc | |
needs: changes | |
if: ${{ needs.changes.outputs.core == 'true' }} | |
continue-on-error: false | |
timeout-minutes: 900 | |
name: EMU - CHI | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: set env | |
run: | | |
export HEAD_SHA=${{ github.run_number }} | |
echo "NOOP_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV | |
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV | |
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV | |
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA} | |
- name: clean up | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean | |
- name: build KunminghuV2Config Release emu | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --build \ | |
--threads 8 --config KunminghuV2Config --release --mfc | |
- name: run KunminghuV2Config - Linux | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 8 --numa --ci linux-hello-opensbi 2> perf.log | |
cat perf.log | sort | |
emu-performance: | |
runs-on: bosc | |
needs: changes | |
if: ${{ needs.changes.outputs.core == 'true' }} | |
continue-on-error: false | |
timeout-minutes: 900 | |
name: EMU - Performance | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: set env | |
run: | | |
export HEAD_SHA=${{ github.run_number }} | |
echo "NOOP_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV | |
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV | |
echo "AM_HOME=/nfs/home/share/ci-workloads/nexus-am" >> $GITHUB_ENV | |
echo "PERF_HOME=/nfs/home/ci-runner/xs-perf/${HEAD_SHA}" >> $GITHUB_ENV | |
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV | |
mkdir -p /nfs/home/ci-runner/xs-perf/${HEAD_SHA} | |
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA} | |
- name: clean up | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean | |
- name: Build EMU | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --build \ | |
--dramsim3 /nfs/home/share/ci-workloads/DRAMsim3 \ | |
--with-dramsim3 --threads 16 --mfc \ | |
--pgo $GITHUB_WORKSPACE/ready-to-run/coremark-2-iteration.bin --llvm-profdata llvm-profdata | |
- name: SPEC06 Test - mcf | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci mcf 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/mcf.log | |
- name: SPEC06 Test - xalancbmk | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci xalancbmk 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/xalancbmk.log | |
- name: SPEC06 Test - gcc | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci gcc 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/gcc.log | |
- name: SPEC06 Test - namd | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci namd 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/namd.log | |
- name: SPEC06 Test - milc | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci milc 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/milc.log | |
- name: SPEC06 Test - lbm | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci lbm 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/lbm.log | |
- name: SPEC06 Test - gromacs | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci gromacs 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/gromacs.log | |
- name: SPEC06 Test - wrf | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci wrf 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/wrf.log | |
- name: SPEC06 Test - astar | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --max-instr 5000000 --numa --ci astar 2> perf.log | |
cat perf.log | sort | tee $PERF_HOME/astar.log | |
emu-mc: | |
runs-on: bosc | |
needs: changes | |
if: ${{ needs.changes.outputs.core == 'true' }} | |
continue-on-error: false | |
timeout-minutes: 900 | |
name: EMU - MC | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: set env | |
run: | | |
export HEAD_SHA=${{ github.run_number }} | |
echo "NOOP_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV | |
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV | |
echo "AM_HOME=/nfs/home/share/ci-workloads/nexus-am" >> $GITHUB_ENV | |
echo "PERF_HOME=/nfs/home/ci-runner/xs-perf/${HEAD_SHA}" >> $GITHUB_ENV | |
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV | |
mkdir -p /nfs/home/ci-runner/xs-perf/${HEAD_SHA} | |
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA} | |
- name: clean up | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean | |
- name: Build MC EMU | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --build \ | |
--num-cores 2 --emu-optimize "" \ | |
--dramsim3 /nfs/home/share/ci-workloads/DRAMsim3 \ | |
--with-dramsim3 --threads 16 --mfc \ | |
--pgo $GITHUB_WORKSPACE/ready-to-run/coremark-2-iteration.bin --llvm-profdata llvm-profdata | |
- name: MC Test | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --diff ./ready-to-run/riscv64-nemu-interpreter-dual-so --ci mc-tests 2> /dev/zero | |
- name: SMP Linux | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --wave-dump $WAVE_HOME --threads 16 --numa --diff ./ready-to-run/riscv64-nemu-interpreter-dual-so --ci linux-hello-smp-new 2> /dev/zero | |
simv-basics: | |
runs-on: eda | |
needs: changes | |
if: ${{ needs.changes.outputs.core == 'true' }} | |
continue-on-error: false | |
timeout-minutes: 900 | |
name: SIMV - Basics | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: set env | |
run: | | |
export HEAD_SHA=${{ github.run_number }} | |
echo "NOOP_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV | |
echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV | |
echo "AM_HOME=/nfs/home/share/ci-workloads/nexus-am" >> $GITHUB_ENV | |
echo "PERF_HOME=/nfs/home/ci-runner/xs-perf/${HEAD_SHA}" >> $GITHUB_ENV | |
echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV | |
mkdir -p /nfs/home/ci-runner/xs-perf/${HEAD_SHA} | |
mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA} | |
- name: clean up | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean | |
- name: Remote Connection Test | |
run: | | |
ssh -tt eda01 "echo test-ok" | |
- name: Generate Verilog for VCS | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --vcs-gen --no-db --xprop --mfc | |
- name: Build SIMV on Remote | |
run: | | |
ssh -tt eda01 "python3 `echo $GITHUB_WORKSPACE`/scripts/xiangshan.py --vcs-build --no-db --xprop" | |
- name: Simple Test - MicroBench | |
run: | | |
ssh -tt eda01 "python3 `echo $GITHUB_WORKSPACE`/scripts/xiangshan.py --ci-vcs microbench --am=/nfs/home/share/ci-workloads/nexus-am/" | |
# - name: Basic Test - cputest | |
# run: | | |
# ssh -tt eda01 "python3 `echo $GITHUB_WORKSPACE`/scripts/xiangshan.py --ci-vcs cputest --am=/nfs/home/share/ci-workloads/nexus-am/" 2> /dev/zero | |
# - name: Simple Test - CoreMark | |
# run: | | |
# ssh -tt eda01 "python3 `echo $GITHUB_WORKSPACE`/scripts/xiangshan.py --ci-vcs coremark --am=/nfs/home/share/ci-workloads/nexus-am/ --timeout 1800" 2> /dev/zero | |
# - name: System Test - Linux | |
# run: | | |
# ssh -tt eda01 "python3 `echo $GITHUB_WORKSPACE`/scripts/xiangshan.py --ci-vcs linux-hello-opensbi --timeout 7200" 2> /dev/zero |