Skip to content

Adding Github CI

Adding Github CI #1

Workflow file for this run

# This is a basic workflow to help you get started with Actions
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:
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:
runs-on: self-hosted
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
- name: Setup Environment
run: |
rm -rf env-setup
git clone git@github.com:purdue-aalp/env-setup.git
cd env-setup
git checkout cluster-ubuntu
- name: Build Accel-Sim
run: |
source ./env-setup/11.2.1_env_setup.sh
rm -rf ./gpu-simulator/gpgpu-sim
source ./gpu-simulator/setup_environment.sh
make clean -C gpu-simulator
srun -c20 make -j20 -C gpu-simulator
- name: Run SASS
run: |
source ./env-setup/11.2.1_env_setup.sh
source ./gpu-simulator/setup_environment.sh
./util/job_launching/run_simulations.py -B rodinia_2.0-ft,GPU_Microbenchmark -C QV100-SASS -T ~/../common/accel-sim/traces/volta-tesla-v100/latest/ -N sass-short-$GITHUB_RUN_NUMBER_$GITHUB_RUN_ATTEMPT
./util/job_launching/run_simulations.py -B rodinia_2.0-ft,GPU_Microbenchmark -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 rodinia_2.0-ft,GPU_Microbenchmark -C RTX3070-SASS -T ~/../common/accel-sim/traces/ampere-rtx3070/latest/ -N sass-short-$GITHUB_RUN_NUMBER_$GITHUB_RUN_ATTEMPT
./util/job_launching/monitor_func_test.py -v -s stats-per-app-sass.csv -N sass-short-$GITHUB_RUN_NUMBER_$GITHUB_RUN_ATTEMPT
- name: Archive Stats
run: |
source ./env-setup/11.2.1_env_setup.sh
rm -rf ./statistics-archive
git clone git@github.com:accel-sim/statistics-archive.git
# either create a new branch or check it out if it already exists
git -C ./statistics-archive checkout ${GITHUB_REF0:8} 2>/dev/null || git -C ./statistics-archive checkout -b ${GITHUB_REF0:8}
./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
mkdir -p statistics-archive/ubench/
./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/
git -C ./statistics-archive add --all
git -C ./statistics-archive commit \
-m "Jenkins automated checkin ${GITHUB_REF0:8} Build:$GITHUB_RUN_NUMBER_$GITHUB_RUN_ATTEMPT" || echo "No Changes."
git -C ./statistics-archive push -u origin ${GITHUB_REF0:8}
- name: Correlate Ubench
run: |
source ./env-setup/11.2.1_env_setup.sh
./util/hw_stats/get_hw_data.sh
rm -rf ./util/plotting/correl-html/
./util/plotting/plot-correlation.py -c ./statistics-archive/ubench/v100-ubench-sass.csv -H ./hw_run/QUADRO-V100/device-0/10.2/ | tee v100-ubench-correl.txt
./util/plotting/plot-correlation.py -c ./statistics-archive/ubench/turing-ubench-sass.csv -H ./hw_run/TURING-RTX2060/10.2/ | tee turing-ubench-correl.txt
./util/plotting/plot-correlation.py -c ./statistics-archive/ubench/ampere-ubench-sass.csv -H ./hw_run/AMPERE-RTX3070/11.2/ | tee ampere-ubench-correl.txt
ssh tgrogers@dynamo mkdir -p /home/dynamo/a/tgrogers/website/accel-sim/latest-correl/${GITHUB_REF0:8}/
rsync --delete -r ./util/plotting/correl-html/ tgrogers@dynamo:~/website/accel-sim/latest-correl/${GITHUB_REF0:8}/
echo "Correlation Report at: https://engineering.purdue.edu/tgrogers/accel-sim/latest-correl/${GITHUB_REF0:8}/"
# setup-env:
# runs-on: self-hosted
# needs: [checkout]
# defaults:
# run:
# shell: bash
# steps:
# - run: |
# rm -rf env-setup
# git clone git@github.com:purdue-aalp/env-setup.git
# cd env-setup
# git checkout cluster-ubuntu
# accel-sim-build:
# runs-on: self-hosted
# needs: [setup-env]
# defaults:
# run:
# shell: bash
# steps:
# - run: |
# source ./env-setup/11.2.1_env_setup.sh
# rm -rf ./gpu-simulator/gpgpu-sim
# source ./gpu-simulator/setup_environment.sh
# make clean -C gpu-simulator
# srun -c20 make -j20 -C gpu-simulator
# sass-simulation:
# runs-on: self-hosted
# needs: [accel-sim-build]
# defaults:
# run:
# shell: bash
# steps:
# - run: |
# source ./env-setup/11.2.1_env_setup.sh
# source ./gpu-simulator/setup_environment.sh
# ./util/job_launching/run_simulations.py -B rodinia_2.0-ft,GPU_Microbenchmark -C QV100-SASS -T ~/../common/accel-sim/traces/volta-tesla-v100/latest/ -N sass-short-$GITHUB_RUN_NUMBER_$GITHUB_RUN_ATTEMPT
# ./util/job_launching/run_simulations.py -B rodinia_2.0-ft,GPU_Microbenchmark -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 rodinia_2.0-ft,GPU_Microbenchmark -C RTX3070-SASS -T ~/../common/accel-sim/traces/ampere-rtx3070/latest/ -N sass-short-$GITHUB_RUN_NUMBER_$GITHUB_RUN_ATTEMPT
# ./util/job_launching/monitor_func_test.py -v -s stats-per-app-sass.csv -N sass-short-$GITHUB_RUN_NUMBER_$GITHUB_RUN_ATTEMPT
# ptx-simulation:
# runs-on: self-hosted
# needs: [accel-sim-build]
# defaults:
# run:
# shell: bash
# steps:
# - run: |
# source ./env-setup/11.2.1_env_setup.sh
# source ./gpu-simulator/setup_environment.sh
# rm -rf ./gpu-app-collection
# git clone git@github.com:accel-sim/gpu-app-collection.git
# source ./gpu-app-collection/src/setup_environment
# srun -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 -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
# archive-stats:
# runs-on: self-hosted
# needs: [sass-simulation, ptx-simulation]
# defaults:
# run:
# shell: bash
# steps:
# - run: |
# source ./env-setup/11.2.1_env_setup.sh
# rm -rf ./statistics-archive
# git clone git@github.com:accel-sim/statistics-archive.git
# # either create a new branch or check it out if it already exists
# git -C ./statistics-archive checkout ${GITHUB_REF0:8} 2>/dev/null || git -C ./statistics-archive checkout -b ${GITHUB_REF0:8}
# ./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
# mkdir -p statistics-archive/ubench/
# ./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/
# git -C ./statistics-archive add --all
# git -C ./statistics-archive commit \
# -m "Jenkins automated checkin ${GITHUB_REF0:8} Build:$GITHUB_RUN_NUMBER_$GITHUB_RUN_ATTEMPT" || echo "No Changes."
# git -C ./statistics-archive push -u origin ${GITHUB_REF0:8}
# correlate-ubench:
# runs-on: self-hosted
# needs: [archive-stats]
# defaults:
# run:
# shell: bash
# steps:
# - run: |
# source ./env-setup/11.2.1_env_setup.sh
# ./util/hw_stats/get_hw_data.sh
# rm -rf ./util/plotting/correl-html/
# ./util/plotting/plot-correlation.py -c ./statistics-archive/ubench/v100-ubench-sass.csv -H ./hw_run/QUADRO-V100/device-0/10.2/ | tee v100-ubench-correl.txt
# ./util/plotting/plot-correlation.py -c ./statistics-archive/ubench/turing-ubench-sass.csv -H ./hw_run/TURING-RTX2060/10.2/ | tee turing-ubench-correl.txt
# ./util/plotting/plot-correlation.py -c ./statistics-archive/ubench/ampere-ubench-sass.csv -H ./hw_run/AMPERE-RTX3070/11.2/ | tee ampere-ubench-correl.txt
# ssh tgrogers@dynamo mkdir -p /home/dynamo/a/tgrogers/website/accel-sim/latest-correl/${GITHUB_REF0:8}/
# rsync --delete -r ./util/plotting/correl-html/ tgrogers@dynamo:~/website/accel-sim/latest-correl/${GITHUB_REF0:8}/
# echo "Correlation Report at: https://engineering.purdue.edu/tgrogers/accel-sim/latest-correl/${GITHUB_REF0:8}/"