diff --git a/.github/workflows/long-tests.yml b/.github/workflows/long-tests.yml new file mode 100644 index 000000000..68a037ede --- /dev/null +++ b/.github/workflows/long-tests.yml @@ -0,0 +1,110 @@ +# 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: + if: github.repository == 'accel-sim/accel-sim-framework' + runs-on: tgrogers-raid + 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 git_${GITHUB_REF}"_"$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT 2>/dev/null || git -C ./statistics-archive checkout -b git_${GITHUB_REF}"_"$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT + ./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 git_${GITHUB_REF}"_"$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT Build:$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT" || echo "No Changes." + git -C ./statistics-archive push -u origin git_${GITHUB_REF}"_"$GITHUB_RUN_NUMBER"_"$GITHUB_RUN_ATTEMPT + - name: Correlate Ubench + run: | + source ./env-setup/11.2.1_env_setup.sh + ./util/hw_stats/get_hw_data.sh > /dev/null + 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 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/ + 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@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 PTX + 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 \ No newline at end of file diff --git a/.github/workflows/short-tests.yml b/.github/workflows/short-tests.yml index c9882d540..1f1270fbb 100644 --- a/.github/workflows/short-tests.yml +++ b/.github/workflows/short-tests.yml @@ -1,6 +1,6 @@ # This is a basic workflow to help you get started with Actions -name: CI +name: Short Tests # Controls when the workflow will run on: diff --git a/.github/workflows/tracer-tool.yml b/.github/workflows/tracer-tool.yml new file mode 100644 index 000000000..d120e7ae8 --- /dev/null +++ b/.github/workflows/tracer-tool.yml @@ -0,0 +1,77 @@ +# This is a basic workflow to help you get started with Actions + +name: Tracer Tool + +# 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: + Tracer-Tool: + if: github.repository == 'accel-sim/accel-sim-framework' + runs-on: tgrogers-gpu01 + 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.0_env_setup.sh + rm -rf ./gpu-simulator/gpgpu-sim + source ./gpu-simulator/setup_environment.sh + make clean -C gpu-simulator + make -j -C gpu-simulator + - name: test-prebuilt-traces + run: | + source ./env-setup/11.0_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/11.0_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/11.0_env_setup.sh + rm -rf ./gpu-app-collection/ + git clone git@github.com: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/11.0_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/11.0_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/11.0_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/11.0/ -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-$$ \ No newline at end of file