Skip to content

Commit

Permalink
Merge branch 'dev' into dev-stream-stats
Browse files Browse the repository at this point in the history
  • Loading branch information
JRPan committed Aug 28, 2024
2 parents 6bb072e + 0442f35 commit e8f16a9
Show file tree
Hide file tree
Showing 144 changed files with 5,149 additions and 2,507 deletions.
111 changes: 111 additions & 0 deletions .github/workflows/long-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# 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:
merge_group:

# 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.7.0_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.7.0_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.7.0_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.7.0_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.7.0_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.7.0_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
27 changes: 27 additions & 0 deletions .github/workflows/short-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This is a basic workflow to help you get started with Actions

name: Short 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:
short-tests:
runs-on: ubuntu-latest
container:
image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
# env:

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Run Simulation
run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh
78 changes: 78 additions & 0 deletions .github/workflows/tracer-tool.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# 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:
merge_group:

# 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.7.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.7.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.7.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.7.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.7.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.7.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.7.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/ -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-$$
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@ sim_run_*
4.2/
gpucomputingsdk_4.2.9_linux.run
util/job_launching/*.txt
gpu-simulator/gpgpu-sim
.vscode/*
extern
gpu-simulator/accel_sim.pyi
31 changes: 31 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
default_language_version:
#Let pre-commit run hooks written in Python with python3.8 (unless specified
#by the hook otherwise)
python: python3.8
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- repo: https://github.com/psf/black
rev: 22.10.0
hooks:
- id: black
name: black (python formatter)
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v15.0.7
hooks:
- id: clang-format
name: clang-format (cpp formatter)
# The following regex is a YAML multiline string
# (?x) is a regex modifier that allows common whitespaces to be ignored
# To specify a file pattern, add it between ^( and )$
files: |
(?x)^(
gpu-simulator/trace-driven/[^/]*\.(h|cc)
|gpu-simulator/ISA_Def/[^/]*\.(h|cc)
|gpu-simulator/main.cc
)$
Loading

0 comments on commit e8f16a9

Please sign in to comment.