diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a932c103d..dfe4baabb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -60,10 +60,14 @@ jobs: # Clone gpgpu-sim with fork-aware branch selection echo "Cloning gpgpu-sim with fork-aware branch selection..." - git clone --quiet https://github.com/accel-sim/gpgpu-sim_distribution.git ./gpu-simulator/gpgpu-sim + git clone --quiet git@github.com:accel-sim/gpgpu-sim_distribution.git ./gpu-simulator/gpgpu-sim # Try to checkout the same branch from the same owner's fork first - current_owner=$(echo ${{ github.repository }} | cut -d'/' -f1) + if [[ ${{ github.event_name }} == 'pull_request' ]]; then + current_owner=$(echo ${{ github.event.pull_request.head.repo.full_name }} | cut -d'/' -f1) + else + current_owner=$(echo ${{ github.repository }} | cut -d'/' -f1) + fi current_repo=$(echo ${{ github.repository }} | cut -d'/' -f2) gpgpusim_repo=$(echo $current_repo | sed 's/accel-sim-framework/gpgpu-sim_distribution/') @@ -71,21 +75,21 @@ jobs: echo "Attempting to checkout branch '$BRANCH_NAME' from '$current_owner/$gpgpusim_repo'" # First, try to add the fork owner's repository as a remote and check if the branch exists - if git -C ./gpu-simulator/gpgpu-sim/ remote add fork-owner https://github.com/$current_owner/$gpgpusim_repo.git 2>/dev/null; then + if git -C ./gpu-simulator/gpgpu-sim/ remote add fork-owner git@github.com:$current_owner/$gpgpusim_repo.git 2>/dev/null; then # Check if the branch exists in the fork owner's repository if git -C ./gpu-simulator/gpgpu-sim/ ls-remote fork-owner | grep -q "refs/heads/$BRANCH_NAME"; then echo "Found branch '$BRANCH_NAME' in '$current_owner/$gpgpusim_repo' repository, checking it out" git -C ./gpu-simulator/gpgpu-sim/ fetch fork-owner - git -C ./gpu-simulator/gpgpu-sim/ checkout -b $BRANCH_NAME fork-owner/$BRANCH_NAME + git -C ./gpu-simulator/gpgpu-sim/ checkout -B $BRANCH_NAME fork-owner/$BRANCH_NAME else echo "Branch '$BRANCH_NAME' not found in '$current_owner/$gpgpusim_repo' repository, falling back to upstream dev branch" - git -C ./gpu-simulator/gpgpu-sim/ checkout dev + git -C ./gpu-simulator/gpgpu-sim/ checkout -B dev origin/dev fi # Remove the temporary remote git -C ./gpu-simulator/gpgpu-sim/ remote remove fork-owner else echo "Could not add '$current_owner/$gpgpusim_repo' remote, falling back to upstream dev branch" - git -C ./gpu-simulator/gpgpu-sim/ checkout dev + git -C ./gpu-simulator/gpgpu-sim/ checkout -B dev origin/dev fi source ./gpu-simulator/setup_environment.sh @@ -194,10 +198,14 @@ jobs: # Clone gpgpu-sim with fork-aware branch selection echo "Cloning gpgpu-sim with fork-aware branch selection..." - git clone --quiet https://github.com/accel-sim/gpgpu-sim_distribution.git ./gpu-simulator/gpgpu-sim + git clone --quiet git@github.com:accel-sim/gpgpu-sim_distribution.git ./gpu-simulator/gpgpu-sim # Try to checkout the same branch from the same owner's fork first - current_owner=$(echo $GITHUB_REPOSITORY | cut -d'/' -f1) + if [[ ${{ github.event_name }} == 'pull_request' ]]; then + current_owner=$(echo ${{ github.event.pull_request.head.repo.full_name }} | cut -d'/' -f1) + else + current_owner=$(echo ${{ github.repository }} | cut -d'/' -f1) + fi current_branch=$BRANCH_NAME current_repo=$(echo $GITHUB_REPOSITORY | cut -d'/' -f2) @@ -206,21 +214,21 @@ jobs: echo "Attempting to checkout branch '$BRANCH_NAME' from '$current_owner/$gpgpusim_repo'" # First, try to add the fork owner's repository as a remote and check if the branch exists - if git -C ./gpu-simulator/gpgpu-sim/ remote add fork-owner https://github.com/$current_owner/$gpgpusim_repo.git 2>/dev/null; then + if git -C ./gpu-simulator/gpgpu-sim/ remote add fork-owner git@github.com:$current_owner/$gpgpusim_repo.git 2>/dev/null; then # Check if the branch exists in the fork owner's repository if git -C ./gpu-simulator/gpgpu-sim/ ls-remote fork-owner | grep -q "refs/heads/$BRANCH_NAME"; then echo "Found branch '$BRANCH_NAME' in '$current_owner/$gpgpusim_repo' repository, checking it out" git -C ./gpu-simulator/gpgpu-sim/ fetch fork-owner - git -C ./gpu-simulator/gpgpu-sim/ checkout -b $BRANCH_NAME fork-owner/$BRANCH_NAME + git -C ./gpu-simulator/gpgpu-sim/ checkout -B $BRANCH_NAME fork-owner/$BRANCH_NAME else echo "Branch '$BRANCH_NAME' not found in '$current_owner/$gpgpusim_repo' repository, falling back to accel-sim dev branch" - git -C ./gpu-simulator/gpgpu-sim/ checkout dev + git -C ./gpu-simulator/gpgpu-sim/ checkout -B dev origin/dev fi # Remove the temporary remote git -C ./gpu-simulator/gpgpu-sim/ remote remove fork-owner else echo "Could not add '$current_owner/$gpgpusim_repo' remote, falling back to upstream dev branch" - git -C ./gpu-simulator/gpgpu-sim/ checkout dev + git -C ./gpu-simulator/gpgpu-sim/ checkout -B dev origin/dev fi source ./gpu-simulator/setup_environment.sh @@ -291,7 +299,7 @@ jobs: source ./env-setup/12.8_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 --spinlock_handling none + ./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.8_env_setup.sh diff --git a/.github/workflows/weekly.yml b/.github/workflows/weekly.yml index 573495be3..5a2889573 100644 --- a/.github/workflows/weekly.yml +++ b/.github/workflows/weekly.yml @@ -8,7 +8,7 @@ on: jobs: Tracer-Weekly: - if: github.repository == 'accel-sim/accel-sim-framework' + if: ${{ github.repository == 'accel-sim/accel-sim-framework' || github.event_name == 'workflow_dispatch' }} runs-on: tgrogers-gpu01 defaults: run: @@ -20,7 +20,7 @@ jobs: - name: Setup Environment run: | rm -rf env-setup - git clone git@github.com:purdue-aalp/env-setup.git + git clone --quiet git@github.com:purdue-aalp/env-setup.git cd env-setup git checkout cluster-ubuntu - name: Build Tracer @@ -34,7 +34,8 @@ jobs: source ./env-setup/12.8_env_setup.sh export PATH=/home/tgrogers-raid/a/common/python2:$PATH rm -rf ./gpu-app-collection/ - git clone --recursive git@github.com:accel-sim/gpu-app-collection.git + git clone --quiet git@github.com:accel-sim/gpu-app-collection.git + git -C ./gpu-app-collection/ submodule update --init -- ./src/cuda/cuda-samples source ./gpu-app-collection/src/setup_environment ln -s /home/tgrogers-raid/a/common/data_dirs ./gpu-app-collection/ make -j8 -C ./gpu-app-collection/src rodinia-3.1 @@ -73,7 +74,7 @@ jobs: # ./util/job_launching/monitor_func_test.py -I -v -s spinlock-stats-per-app.csv -N spinlock-microbenchmark-$$-none SASS-Weekly: needs: [Tracer-Weekly] - if: github.repository == 'accel-sim/accel-sim-framework' + if: ${{ github.repository == 'accel-sim/accel-sim-framework' || github.event_name == 'workflow_dispatch' }} runs-on: tgrogers-raid defaults: run: @@ -85,7 +86,7 @@ jobs: - name: Setup Environment run: | rm -rf env-setup - git clone git@github.com:purdue-aalp/env-setup.git + git clone --quiet git@github.com:purdue-aalp/env-setup.git cd env-setup git checkout cluster-ubuntu - name: Build Accel-Sim @@ -100,6 +101,6 @@ jobs: source ./env-setup/12.8_env_setup.sh source ./gpu-simulator/setup_environment.sh ln -s /scratch/tgrogers-disk01/a/common/for-sharing/$USER/nightly-traces ./hw_run - # ./util/job_launching/run_simulations.py -B rodinia-3.1,GPU_Microbenchmark,sdk-4.2-scaled,parboil,polybench,cutlass_5_trace,Deepbench_nvidia_tencore,Deepbench_nvidia_normal -C QV100-SASS-5B_INSN -T ./hw_run/traces/device-7/11.7 -N weekly-$$ -M 70G - ./util/job_launching/run_simulations.py -B rodinia-3.1,GPU_Microbenchmark -C QV100-SASS-5B_INSN -T ./hw_run/traces/device-7/11.7 -N weekly-$$ -M 70G + # ./util/job_launching/run_simulations.py -B rodinia-3.1,GPU_Microbenchmark,sdk-4.2-scaled,parboil,polybench,cutlass_5_trace,Deepbench_nvidia_tencore,Deepbench_nvidia_normal -C QV100-SASS-5B_INSN -T ./hw_run/traces/device-7/12.8 -N weekly-$$ -M 70G + ./util/job_launching/run_simulations.py -B rodinia-3.1,GPU_Microbenchmark -C QV100-SASS-5B_INSN -T ./hw_run/traces/device-7/12.8 -N weekly-$$ -M 70G ./util/job_launching/monitor_func_test.py -T 12 -S 1800 -I -v -s weekly-stats-per-app.csv -N weekly-$$ diff --git a/README.md b/README.md index d339b8b56..4edfa0da8 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ # Welcome to the top-level repo of Accel-Sim and AccelWattch [![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/accel-sim/accel-sim-framework) -[![Long Tests](https://github.com/accel-sim/accel-sim-framework/actions/workflows/long-tests.yml/badge.svg)](https://github.com/accel-sim/accel-sim-framework/actions/workflows/long-tests.yml) -[![Short Tests](https://github.com/accel-sim/accel-sim-framework/actions/workflows/short-tests.yml/badge.svg)](https://github.com/accel-sim/accel-sim-framework/actions/workflows/short-tests.yml) -[![Tracer Tool](https://github.com/accel-sim/accel-sim-framework/actions/workflows/tracer-tool.yml/badge.svg)](https://github.com/accel-sim/accel-sim-framework/actions/workflows/tracer-tool.yml) +[![CI Runs](https://github.com/accel-sim/accel-sim-framework/actions/workflows/main.yml/badge.svg?branch=dev&event=push)](https://github.com/accel-sim/accel-sim-framework/actions/workflows/main.yml) [![Weekly Tests](https://github.com/accel-sim/accel-sim-framework/actions/workflows/weekly.yml/badge.svg)](https://github.com/accel-sim/accel-sim-framework/actions/workflows/weekly.yml) - [Welcome to the top-level repo of Accel-Sim and AccelWattch](#welcome-to-the-top-level-repo-of-accel-sim-and-accelwattch) - [Dependencies](#dependencies)