Frontend new ICache #7084
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 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/XSTop.v | |
- 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 | |
- name: check CHI version verilog | |
run: | | |
python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --generate --config KunminghuV2Config --release --mfc | |
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-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 |