summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/accelsim.yml33
-rw-r--r--.github/workflows/cmake.yml86
-rw-r--r--.github/workflows/main.yml105
-rw-r--r--.github/workflows/sst_integration.yml80
4 files changed, 304 insertions, 0 deletions
diff --git a/.github/workflows/accelsim.yml b/.github/workflows/accelsim.yml
new file mode 100644
index 0000000..7410352
--- /dev/null
+++ b/.github/workflows/accelsim.yml
@@ -0,0 +1,33 @@
+# Test backend changes with Accel-Sim
+
+name: Short-Tests-AccelSim
+
+# Controls when the workflow will run
+on:
+ push:
+ branches-ignore:
+ - "gh-readonly-queue**"
+ merge_group:
+ pull_request:
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# By default regress against accel-sim's dev branch
+env:
+ ACCELSIM_BRANCH: dev
+
+# A workflow run is made up of one or more jobs that can run sequentially or in parallel
+jobs:
+ build-QV100:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests-accelsim.sh
+
diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml
new file mode 100644
index 0000000..c0a22eb
--- /dev/null
+++ b/.github/workflows/cmake.yml
@@ -0,0 +1,86 @@
+# Workflow with cmake build system
+name: Short-Tests-CMake
+
+# 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**"
+ merge_group:
+ 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:
+ build-TITANV:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: TITANV
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh
+
+ build-TITANV-LOCALXBAR:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: TITANV-LOCALXBAR
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh
+
+ build-QV100:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: QV100
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh
+
+ build-2060:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: RTX2060
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh
+
+ build-3070:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: RTX3070
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests-cmake.sh
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000..8e0ae23
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,105 @@
+# This is a basic workflow to help you get started with Actions
+
+name: Short-Tests
+
+# Controls when the workflow will run
+on:
+ push:
+ branches-ignore:
+ - "gh-readonly-queue**"
+ merge_group:
+ 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:
+ build-TITANV:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: TITANV
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh
+
+ build-TITANV-LOCALXBAR:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: TITANV-LOCALXBAR
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh
+
+ build-QV100:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: QV100
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh
+
+ build-2060:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: RTX2060
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh
+
+ build-3070:
+ runs-on: ubuntu-latest
+ container:
+ image: tgrogers/accel-sim_regress:Ubuntu-22.04-cuda-11.7
+ env:
+ CONFIG: RTX3070
+
+ # 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@v4
+ - name: Run Simulation
+ run: /bin/bash $GITHUB_WORKSPACE/short-tests.sh
+ format-code:
+ if: github.event_name == 'pull_request'
+ runs-on: tgrogers-raid
+ needs: [build-TITANV, build-TITANV-LOCALXBAR, build-QV100, build-2060, build-3070]
+ 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 ./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
diff --git a/.github/workflows/sst_integration.yml b/.github/workflows/sst_integration.yml
new file mode 100644
index 0000000..03635db
--- /dev/null
+++ b/.github/workflows/sst_integration.yml
@@ -0,0 +1,80 @@
+# Workflow with cmake build system
+name: SST Integration Test
+
+# 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:
+ build-QV100:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ shell: bash
+ strategy:
+ matrix:
+ # test_type: [simple, medium, long]
+ test_type: [simple, medium]
+ container:
+ image: tgrogers/accel-sim_regress:SST-Integration-Ubuntu-22.04-cuda-11.7-llvm-18.1.8-riscv-gnu-2024.08.06-nightly
+ env:
+ CONFIG: QV100
+ GPU_ARCH: sm_70
+
+ # 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@v4
+ - name: Build GPGPU-Sim in SST mode
+ run: |
+ source ./setup_environment
+ make -j4
+ - name: Prepare SST dependencies
+ run: |
+ apt install -y openmpi-bin openmpi-common libtool libtool-bin autoconf python3 python3-dev automake build-essential git
+ # Use personal repo for now
+ - name: Build SST-Core
+ run: |
+ git clone https://github.com/William-An/sst-core.git
+ cd sst-core
+ git pull
+ git checkout devel
+ ./autogen.sh
+ ./configure --prefix=`realpath ../sstcore-install` --disable-mpi --disable-mem-pools
+ make -j4
+ make install
+ cd ..
+ rm -rf ./sst-core
+ # Use personal repo for now
+ - name: Build SST-Elements
+ run: |
+ git clone https://github.com/William-An/sst-elements.git
+ source ./setup_environment
+ cd sst-elements
+ git pull
+ git checkout balar-mmio-vanadis-llvm
+ ./autogen.sh
+ ./configure --prefix=`realpath ../sstelements-install` --with-sst-core=`realpath ../sstcore-install` --with-cuda=$CUDA_INSTALL_PATH --with-gpgpusim=$GPGPUSIM_ROOT
+ make -j4
+ make install
+ # Have to resource the gpu app
+ # Also fake a SDK since rodinia 2.0 does not need this, speed things up on github
+ - name: Balar Test
+ run: |
+ pip install testtools blessings pygments
+ source ./setup_environment
+ mkdir 4.2
+ mkdir fake_sdk
+ export NVIDIA_COMPUTE_SDK_LOCATION=$(readlink -f ./fake_sdk)
+ source $GPUAPPS_ROOT/src/setup_environment sst
+ rm -rf 4.2
+ rm -f gpucomputingsdk_4.2.9_linux.run
+ ./sstcore-install/bin/sst-test-elements -w "*balar*${{ matrix.test_type }}*" \ No newline at end of file