|
| 1 | +# SPDX-FileCopyrightText: Intel Corporation |
| 2 | +# |
| 3 | +# SPDX-License-Identifier: BSD-3-Clause |
| 4 | + |
| 5 | +name: "Borealis" |
|
10000
6 | + |
| 7 | +on: |
| 8 | + workflow_dispatch: |
| 9 | + # 8am UTC is 12am PST, 1am PDT |
| 10 | + schedule: |
| 11 | + - cron: '0 8 * * *' |
| 12 | + |
| 13 | +jobs: |
| 14 | + borealis: |
| 15 | + runs-on: borealis |
| 16 | + # It can finish in 30 minutes, but sometimes |
| 17 | + # borealis is slow and their are long pauses |
| 18 | + timeout-minutes: 480 |
| 19 | + name: "Borealis Benchmarking" |
| 20 | + env: |
| 21 | + CXX: icpx |
| 22 | + CTEST_OUTPUT_ON_FAILURE: 1 |
| 23 | + steps: |
| 24 | + - uses: actions/checkout@v4 |
| 25 | + # Install python dependencies on login node because it needs an |
| 26 | + # internet connection |
| 27 | + - name: Install benchmark framework |
| 28 | + run: | |
| 29 | + /usr/bin/python3.10 -m venv venv |
| 30 | + source venv/bin/activate |
| 31 | + pip install src-python/drbench |
| 32 | + # Build Cmake files on login node because it needs an |
| 33 | + # internet connection to fetch dependencies |
| 34 | + - name: Setup CMake |
| 35 | + run: MKL_DIR=${MKLROOT}/lib/cmake/mkl TBB_DIR=${TBBROOT}/lib/cmake/tbb cmake -B build -DENABLE_SYCL=on . |
| 36 | + - name: Single node |
| 37 | + run: | |
| 38 | + # These nodes worked in the past x1002c6s5b0n0+x1002c6s6b0n0 |
| 39 | + qsub -N "DR-bmk" -Wblock=true -l walltime=02:00:00 -j oe -o build/qsub-output-1.txt scripts/borealis-benchmark.sh ; sleep 10 ; cat build/*-1.txt |
| 40 | + - name: Upload benchmark results |
| 41 | + if: always() |
| 42 | + uses: actions/upload-artifact@v3 |
| 43 | + with: |
| 44 | + name: log-borealis-bench |
| 45 | + path: | |
| 46 | + build/*.txt |
| 47 | + build/benchmarks/gbench/*.json |
| 48 | + build/benchmarks/gbench/*.png |
| 49 | + build/benchmarks/gbench/*.csv |
| 50 | +
|
| 51 | + publish: |
| 52 | + needs: [borealis] |
| 53 | + runs-on: dds-base |
| 54 | + if: ${{ github.ref == 'refs/heads/main' }} |
| 55 | + steps: |
| 56 | + - uses: actions/checkout@v4 |
| 57 | + - name: Download benchmark results |
| 58 | + uses: actions/download-artifact@v3 |
| 59 | + with: |
| 60 | + name: log-borealis-bench |
| 61 | + path: bench/borealis |
| 62 | + - name: Checkout gh-pages |
| 63 | + uses: actions/checkout@v4 |
| 64 | + with: |
| 65 | + ref: gh-pages |
| 66 | + path: gh-pages |
| 67 | + - name: Publish to github pages |
| 68 | + run: | |
| 69 | + touch gh-pages/.nojekyll |
| 70 | + mkdir -p gh-pages/bench |
| 71 | + rm -rf gh-pages/bench/borealis |
| 72 | + cp -r bench/borealis gh-pages/bench |
| 73 | + cd gh-pages |
| 74 | + git config user.name github-actions |
| 75 | + git config user.email github-actions@github.com |
| 76 | + git add . |
| 77 | + # Ignore errors because no updates returns an error status. |
| 78 | + git commit --reset-author --amend -m "Update from github actions" |
| 79 | + git push --force origin gh-pages |
0 commit comments