avoid out-of-bound reading the delta list #361
Workflow file for this run
This file contains hidden or 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 is a basic workflow to help you get started with Actions | |
#Turing commands are commented out , we regress QV100,RTX3070,A100 | |
name: Long Tests | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push or pull request events but only for the mydev branch | |
push: | |
branches-ignore: | |
- "gh-readonly-queue**" | |
pull_request: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
SASS-Simulation: | |
if: github.repository == 'accel-sim/accel-sim-framework' | |
runs-on: tgrogers-raid | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Environment | |
run: | | |
rm -rf env-setup | |
git clone [email protected]:purdue-aalp/env-setup.git | |
cd env-setup | |
git checkout cluster-ubuntu | |
- name: Build Accel-Sim | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
rm -rf ./gpu-simulator/gpgpu-sim | |
source ./gpu-simulator/setup_environment.sh | |
make clean -C gpu-simulator | |
srun --time=8:00:00 -c20 make -j20 -C gpu-simulator | |
- name: Run SASS | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
source ./gpu-simulator/setup_environment.sh | |
./util/job_launching/run_simulations.py -B GPU_Microbenchmark -C QV100-SASS -T /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/QV100//hw_run/traces/device-0/12.8/ -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/run_simulations.py -B rodinia_2.0-ft -C QV100-SASS -T /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/QV100/hw_run/traces/device-0/12.8/ -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
#./util/job_launching/run_simulations.py -B rodinia_2.0-ft -C RTX2060-SASS -T ~/../common/accel-sim/traces/turing-rtx2060/latest/ -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/run_simulations.py -B GPU_Microbenchmark -C RTX3070-SASS -T /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/RTX3070/hw_run/traces/device-0/12.8/ -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/run_simulations.py -B rodinia_2.0-ft -C RTX3070-SASS -T /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/RTX3070/hw_run/traces/device-0/12.8/ -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/run_simulations.py -B GPU_Microbenchmark -C A100-SASS -T /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/A100/hw_run/traces/device-0/12.8/ -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/run_simulations.py -B rodinia_2.0-ft -C A100-SASS -T /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/A100/hw_run/traces/device-0/12.8/ -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/run_simulations.py -B mlperf_inference -C RTX3070-SASS -T /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/mlperf_rtx3070/traces/device-0/12.8/ -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/monitor_func_test.py -v -s --sleep_time 300 stats-per-app-sass.csv -N sass-short-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
- name: Archive Stats | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
rm -rf ./statistics-archive | |
git clone [email protected]:accel-sim/statistics-archive.git | |
BRANCH_NAME=${GITHUB_REPOSITORY}/${GITHUB_REF_NAME} | |
# either create a new branch or check it out if it already exists | |
git -C ./statistics-archive checkout $BRANCH_NAME 2>/dev/null || git -C ./statistics-archive checkout -b $BRANCH_NAME | |
./util/job_launching/get_stats.py -k -K -R -B GPU_Microbenchmark -C QV100-SASS -A | tee v100-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv | |
#./util/job_launching/get_stats.py -k -K -R -B GPU_Microbenchmark -C RTX2060-SASS -A | tee turing-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv | |
./util/job_launching/get_stats.py -k -K -R -B GPU_Microbenchmark -C RTX3070-SASS -A | tee ampere-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv | |
./util/job_launching/get_stats.py -k -K -R -B GPU_Microbenchmark -C A100-SASS -A | tee ampere-a100-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv | |
mkdir -p statistics-archive/ubench/ | |
# First we merge and archive this run to the main csv that contains all previous runs | |
./util/plotting/merge-stats.py -R -c ./statistics-archive/ubench/v100-ubench-sass.csv,v100-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv \ | |
| tee v100-ubench-sass.csv && mv v100-ubench-sass.csv ./statistics-archive/ubench/ | |
# ./util/plotting/merge-stats.py -R -c ./statistics-archive/ubench/turing-ubench-sass.csv,turing-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv \ | |
# | tee turing-ubench-sass.csv && mv turing-ubench-sass.csv ./statistics-archive/ubench/ | |
./util/plotting/merge-stats.py -R -c ./statistics-archive/ubench/ampere-ubench-sass.csv,ampere-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv \ | |
| tee ampere-ubench-sass.csv && mv ampere-ubench-sass.csv ./statistics-archive/ubench/ | |
./util/plotting/merge-stats.py -R -c ./statistics-archive/ubench/ampere-a100-ubench-sass.csv,ampere-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv \ | |
| tee ampere-a100-ubench-sass.csv && mv ampere-a100-ubench-sass.csv ./statistics-archive/ubench/ | |
# Next we merge the latest run with the current run (used for correlation plots) then archive the current run as the new latest for the next time this action occurs | |
./util/plotting/merge-stats.py -R -c ./statistics-archive/ubench/v100-ubench-sass-latest.csv,v100-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv \ | |
| tee v100-ubench-sass-latest2.csv && mv v100-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv ./statistics-archive/ubench/v100-ubench-sass-latest.csv | |
# ./util/plotting/merge-stats.py -R -c ./statistics-archive/ubench/turing-ubench-sass-latest.csv,turing-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv \ | |
# | tee turing-ubench-sass-latest2.csv && mv turing-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv ./statistics-archive/ubench/turing-ubench-sass-latest.csv | |
./util/plotting/merge-stats.py -R -c ./statistics-archive/ubench/ampere-ubench-sass-latest.csv,ampere-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv \ | |
| tee ampere-ubench-sass-latest2.csv && mv ampere-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv ./statistics-archive/ubench/ampere-ubench-sass-latest.csv | |
./util/plotting/merge-stats.py -R -c ./statistics-archive/ubench/ampere-a100-ubench-sass-latest.csv,ampere-a100-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv \ | |
| tee ampere-a100-ubench-sass-latest2.csv && mv ampere-a100-ubench-sass-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT.csv ./statistics-archive/ubench/ampere-a100-ubench-sass-latest.csv | |
if [[ $GITHUB_EVENT_NAME == 'push' ]]; then | |
git -C ./statistics-archive add --all | |
git -C ./statistics-archive commit \ | |
-m "Jenkins automated checkin $BRANCH_NAME Build:$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT" || echo "No Changes." | |
git -C ./statistics-archive push -u origin $BRANCH_NAME | |
fi | |
- name: Correlate Ubench | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
./util/hw_stats/get_hw_data.sh > /dev/null 2>&1 | |
rm -rf ./util/plotting/correl-html/ | |
./util/plotting/plot-correlation.py -c ./v100-ubench-sass-latest2.csv -H /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/QV100/hw_run/device-0/12.8/ | tee v100-ubench-correl.txt | |
#./util/plotting/plot-correlation.py -c ./turing-ubench-sass-latest2.csv -H ./hw_run/TURING-RTX2060/10.2/ | tee turing-ubench-correl.txt | |
./util/plotting/plot-correlation.py -c ./ampere-ubench-sass-latest2.csv -H /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/RTX3070/hw_run/device-0/12.8/ | tee ampere-ubench-correl.txt | |
./util/plotting/plot-correlation.py -c ./ampere-a100-ubench-sass-latest2.csv -H /scratch/tgrogers-disk01/a/common/for-sharing/accel-sim/A100/hw_run/device-0/12.8/ | tee ampere-a100-ubench-correl.txt | |
ssh ghci@tgrogers-pc01 mkdir -p /home/ghci/accel-sim/correl/git_${GITHUB_REF}"_"$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT/ | |
rsync --delete -r ./util/plotting/correl-html/ ghci@tgrogers-pc01:/home/ghci/accel-sim/correl/git_${GITHUB_REF}"_"$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT/ | |
if [[ $GITHUB_EVENT_NAME == 'push' ]]; then | |
rm -rf /scratch/tgrogers-disk01/a/tgrghci/ci/accel_sim_framework/lastDevSuccess | |
mkdir -p /scratch/tgrogers-disk01/a/tgrghci/ci/accel_sim_framework/lastDevSuccess | |
mv $PWD/* /scratch/tgrogers-disk01/a/tgrghci/ci/accel_sim_framework/lastDevSuccess/ | |
fi | |
BODY="Github CI - Build $GITHUB_REF SUCCESS. | |
Action link: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
Branch/PR Name: $GITHUB_REF_NAME | |
Correlation Report at: https://tgrogers-pc01.ecn.purdue.edu/github-ci/accel-sim/correl/git_${GITHUB_REF}"_"$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT/. | |
Directory: /scratch/tgrogers-disk01/a/tgrghci/ci/accel_sim_framework/lastDevSuccess" | |
SUBJECT="✅ Github CI - Build $GITHUB_REF SUCCESS" | |
TO="${{ secrets.GROUP_EMAIL }}" | |
srun echo "$BODY" | mail -s "$SUBJECT" "$TO" | |
echo "Correlation Report at: https://tgrogers-pc01.ecn.purdue.edu/github-ci/accel-sim/correl/git_${GITHUB_REF}"_"$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT/." | |
PTX-Simulation: | |
if: github.repository == 'accel-sim/accel-sim-framework' | |
runs-on: tgrogers-raid | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Environment | |
run: | | |
rm -rf env-setup | |
git clone [email protected]:purdue-aalp/env-setup.git | |
cd env-setup | |
git checkout cluster-ubuntu | |
- name: Build Accel-Sim | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
rm -rf ./gpu-simulator/gpgpu-sim | |
source ./gpu-simulator/setup_environment.sh | |
make clean -C gpu-simulator | |
srun --time=8:00:00 -c20 make -j20 -C gpu-simulator | |
- name: Run PTX | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
source ./gpu-simulator/setup_environment.sh | |
rm -rf ./gpu-app-collection | |
git clone --recurse-submodules -b dev [email protected]:accel-sim/gpu-app-collection.git | |
source ./gpu-app-collection/src/setup_environment | |
srun --time=8:00:00 -c20 make rodinia_2.0-ft GPU_Microbenchmark -j20 -C ./gpu-app-collection/src | |
./gpu-app-collection/get_regression_data.sh | |
#./util/job_launching/run_simulations.py -B rodinia_2.0-ft,GPU_Microbenchmark -C QV100-PTX,RTX2060-PTX,RTX3070-PTX,A100-PTX -N short-ptx-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/run_simulations.py -B rodinia_2.0-ft,GPU_Microbenchmark -C QV100-PTX,RTX3070-PTX,A100-PTX -N short-ptx-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
./util/job_launching/monitor_func_test.py -v -s stats-per-app-ptx.csv -N short-ptx-$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT | |
Tracer-Tool: | |
if: github.repository == 'accel-sim/accel-sim-framework' | |
runs-on: tgrogers-gpu01 | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup Environment | |
run: | | |
rm -rf env-setup | |
git clone [email protected]:purdue-aalp/env-setup.git | |
cd env-setup | |
git checkout cluster-ubuntu | |
- name: Build Accel-Sim | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
rm -rf ./gpu-simulator/gpgpu-sim | |
source ./gpu-simulator/setup_environment.sh | |
make clean -C gpu-simulator | |
make -j20 -C gpu-simulator | |
- name: test-prebuilt-traces | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
source ./gpu-simulator/setup_environment.sh | |
./get-accel-sim-traces.py -a tesla-v100/rodinia_2.0-ft | |
cd hw_run; tar -xzvf rodinia_2.0-ft.tgz; cd - | |
./util/job_launching/run_simulations.py -B rodinia_2.0-ft -C QV100-SASS -T ./hw_run/ -N rodinia_2.0-ft-online-$$ | |
./util/job_launching/monitor_func_test.py -N rodinia_2.0-ft-online-$$ -v | |
rm -rf hw_run | |
rm -rf sim_run_11.0 | |
- name: Build Tracer | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
./util/tracer_nvbit/install_nvbit.sh | |
make clean -C ./util/tracer_nvbit/ | |
make -C ./util/tracer_nvbit/ | |
- name: rodinia_2.0-ft-build | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
rm -rf ./gpu-app-collection/ | |
git clone [email protected]:accel-sim/gpu-app-collection.git | |
source ./gpu-app-collection/src/setup_environment | |
ln -s /home/tgrogers-raid/a/common/data_dirs ./gpu-app-collection/ | |
make -C ./gpu-app-collection/src rodinia_2.0-ft | |
- name: generate-rodinia_2.0-ft-traces | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
source ./gpu-app-collection/src/setup_environment | |
rm -rf ./hw_run/ | |
./util/tracer_nvbit/run_hw_trace.py -B rodinia_2.0-ft -D 7 | |
- name: generate-rodinia_2.0-ft-hw_stats | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
source ./gpu-app-collection/src/setup_environment | |
./util/hw_stats/run_hw.py -B rodinia_2.0-ft -D 7 | |
- name: test-new-traces | |
run: | | |
source ./env-setup/12.4_env_setup.sh | |
source ./gpu-simulator/setup_environment.sh | |
./util/job_launching/run_simulations.py -B rodinia_2.0-ft -C QV100-SASS -T ./hw_run/traces/device-7/ -N rodinia_2.0-ft-$$ | |
./util/job_launching/monitor_func_test.py -I -v -s rodinia-stats-per-app.csv -N rodinia_2.0-ft-$$ | |
format-code: | |
if: github.event_name == 'pull_request' | |
runs-on: tgrogers-raid | |
needs: [SASS-Simulation, PTX-Simulation, Tracer-Tool] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{github.event.pull_request.head.ref}} | |
repository: ${{github.event.pull_request.head.repo.full_name}} | |
ssh-key: '' | |
- name: Run clang-format | |
run: | | |
git config user.name "purdue-jenkins" | |
git config user.email "[email protected]" | |
git remote set-url origin [email protected]:${{github.event.pull_request.head.repo.full_name}} | |
git remote -v | |
/bin/bash ./gpu-simulator/format-code.sh | |
/bin/bash ./util/tracer_nvbit/tracer_tool/format-code.sh | |
if git status --untracked-files=no | grep -q "nothing to commit"; then echo "No changes to commit."; else git commit -a -m "Automated Format"; git push; fi | |
failures: | |
if: failure() | |
runs-on: tgrogers-raid | |
needs: [SASS-Simulation, PTX-Simulation, Tracer-Tool] | |
steps: | |
- name: Notify Failure | |
run: | | |
BODY="Github CI - Build $GITHUB_REF FAILED. | |
Action link: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
Branch/PR Name: $GITHUB_REF_NAME" | |
if [[ $GITHUB_EVENT_NAME == 'push' ]]; then | |
SUBJECT="❗Github CI FAILED - Build $GITHUB_REF" | |
else | |
SUBJECT="⚠️ Github CI FAILED - PR $GITHUB_REF" | |
fi | |
TO="${{ secrets.GROUP_EMAIL }}" | |
srun echo "$BODY" | mail -s "$SUBJECT" "$TO" |