Skip to content

Workflow file for this run

name: Performance Regression
on:
schedule:
# run at 15:30 UTC (23:30 UTC+8)
- cron: '30 15 * * 5'
# temporary setting for test
push:
branches: [ ci-perf-2409 ]
jobs:
run:
runs-on: node
continue-on-error: false
# At most 2 days to finish
timeout-minutes: 2880
name: Performance Regression - Checkpoints
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: set env
run: |
SHORT_SHA=$(git rev-parse --short HEAD)
DATE=$(git show -s --format=%cd --date=format:%y%m%d HEAD)
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/share/ci-workloads/env-scripts/perf" >> $GITHUB_ENV
echo "SPEC_DIR=/nfs/home/cirunner/master-perf-report/cr240905-42b6cdf" >> $GITHUB_ENV
# - name: clean up
# run: |
# python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean
# - name: build EMU with DRAMsim3
# run: |
# python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --build \
# --dramsim3 /nfs/home/share/ci-workloads/DRAMsim3 \
# --with-dramsim3 --threads 16 \
# --pgo $GITHUB_WORKSPACE/ready-to-run/coremark-2-iteration.bin \
# --llvm-profdata llvm-profdata
# - name: run SPEC CPU2006 checkpoints
# run: |
# cd $PERF_HOME
# python3 xs_autorun_multiServer.py \
# /nfs/home/share/liyanqin/spec06_rv64gcb_O3_20m_gcc12.2.0-intFpcOff-jeMalloc/checkpoint-0-0-0 \
# /nfs/home/share/liyanqin/env-scripts/perf/json/test.json \
# --xs $NOOP_HOME --threads 16 --dir $SPEC_DIR --resume \
# -L "node033 node034 node036 node037 node038 node039 node040 node041 node042"
# mv $NOOP_HOME/*.vcd $SPEC_DIR
- name: report SPEC CPU2006 score
run: |
cd $PERF_HOME
python3 xs_autorun_multiServer.py \
/nfs/home/share/liyanqin/spec06_rv64gcb_O3_20m_gcc12.2.0-intFpcOff-jeMalloc/checkpoint-0-0-0 \
/nfs/home/share/liyanqin/spec06_rv64gcb_O3_20m_gcc12.2.0-intFpcOff-jeMalloc/checkpoint-0-0-0/cluster-0-0.json \
--xs $NOOP_HOME --threads 16 --dir $SPEC_DIR \
--check --dump-json-path $SPEC_DIR/err_ckps.json
python3 xs_autorun_multiServer.py \
/nfs/home/share/liyanqin/spec06_rv64gcb_O3_20m_gcc12.2.0-intFpcOff-jeMalloc/checkpoint-0-0-0 \
/nfs/home/share/liyanqin/spec06_rv64gcb_O3_20m_gcc12.2.0-intFpcOff-jeMalloc/checkpoint-0-0-0/cluster-0-0.json \
--xs $NOOP_HOME --threads 16 --dir $SPEC_DIR --report \
> $SPEC_DIR/score.txt
mkdir $GITHUB_WORKSPACE/result
cp $SPEC_DIR/err_ckps.json $GITHUB_WORKSPACE/result/err_ckps.json
cp $SPEC_DIR/score.txt $GITHUB_WORKSPACE/result/score.txt
- name: upload SPEC CPU2006 score
uses: actions/upload-artifact@v4
with:
name: result
path: upload