diff options
| author | WilliamMTK <[email protected]> | 2024-12-11 16:52:40 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-12-11 21:52:40 +0000 |
| commit | 752d4e5bf622b0d7c730e3eb2f1b3e3cf91e81fa (patch) | |
| tree | c21658a59c854d8251706796570ce80e34a6ef7b /.github | |
| parent | 667834cfe5214523edd7769aeab77f91b7137686 (diff) | |
Add SST integration into gpgpusim (#44)
* Add accommodations to run gpgpusim with SST simulation framework through balar
* Output setup_environment options when sourcing
* Add SST directive check when creating sim thread
* Add sst side test for jenkins
* sst-integration: update Jenkinsfile with offical sst-elements repo and fix bugs in pipeline script
* sst-integration: direct jenkins to rebuild gpgpusim before testing for sst
* sst-integration: fix bugs in sst repos config
* sst-integration: let Jenkins rebuilds simulator
Since the simulator needs to be configured with both normal mode and sst mode, need to rebuild make target to clean prior runs.
* sst-integration: Update Jenkinsfile to source env vars when running balar test
* sst-integration: refactor code to remove __SST__ flag
* sst-integration: fix a bug that init cluster twice for sst
* sst-integration: fix a bug of not sending mem packets to SST
* sst-integration: remove sst flags from makefiles and setup_env
* sst-integration: add comments to SST changes
* sst-integration: remove rebuilding simulator in jenkins when testing for SST
* sst-integration: revert simulator build script
* Add a function to support querying function argument info for SST
* sst-integration: add version detection for vanadis binary
* Automated Format
* add version detection support for gcc 10+
* sst-integration: add cudaMallocHost for SST
* sst-integration: fix a compilation bug
* sst-integration: add sst balar unittest CI
* sst-integration: specify GPU_ARCH for CI test
* sst-integration: use bash for github actions
* sst-integration: use https links for sst repos
* sst-integration: add SST dependencies to CI config
* sst-integration: remove sudo
* sst-integration: default to yes for apt install
* sst-integration: add manual trigger for github action
* sst-integration: remove wrong on event
* sst-integration: limit CPU usage for compilation
* sst-integration: fix wrong path
* sst-integration: use personal repo for testing
* sst-integration: remove sst-core source in CI to free space
* sst-integration: SST_Cycle use print stats with stream id
* Automated Format
* sst-integration: check for diskspace and try to clean it
* sst-integration: move out of docker image
* sst-integration: testing for ci path
* sst-integration: fix syntax
* sst-integration: pass env vars
* sst-integration: set env properly
* sst-integration: merge LLVM build and test into same job
* sst-integration: fix step order
* sst-integration: checkout correct branch for env-setup
* sst-integration: remove resourcing gpu apps
* sst-integration: revert back to docker github action
* sst-integration: enable debug trace for sst testing
* sst-integration: resourcing gpu app for env vars
* sst-integration: use GPUAPPS_ROOT for path for gpu app
* sst-integration: use GPUAPPS_ROOT for path for gpu app
* sst-integration: enable parallel ci tests and fix not returning with cudaMallocHostSST
* sst-integration: using debug flag for CI run
* sst-integration: revert debug ci run
* sst-integration: CI skips cuda sdk download and launch multiple jobs
* sst-integration: reenable parallel tests
* sst-integration: reduce concurrent test thread count
* sst-integration: skip long test for github runner
* sst-integration: try running CI with single core
* sst-integrtion: add callback to SST to check thread sync is done in SST_Cycle()
* sst-integration: ignore lookup if already found and add callbacks to SST
* Automated Format
* sst-integration: add support for indirect texture access
* Automated Format
* sste-integration: fix up for PR
* Automated Format
---------
Co-authored-by: purdue-jenkins <[email protected]>
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/sst_integration.yml | 80 |
1 files changed, 80 insertions, 0 deletions
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 |
