Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add 2 ranks tests #961

Closed
wants to merge 10 commits into from
138 changes: 138 additions & 0 deletions .github/workflows/ci-ucx.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
name: Build UCX cunumeric
on:
push:
branches-ignore:
- gh-pages # deployment target branch (this workflow should not exist on that branch anyway)
pull_request:
branches-ignore:
- gh-pages # deployment target branch (this workflow should not exist on that branch anyway)
schedule:
# * is a special character in YAML so you have to quote this string
- cron: '0 */6 * * *'
env:
COMMIT: ${{ github.event.pull_request.head.sha || github.sha }}
PROJECT: github-cunumeric-ci
REF: ${{ github.event.pull_request.head.ref || github.ref }}
BASE_REF: ${{ github.event.pull_request.base.ref || github.ref }}
EVENT_NAME: ${{ github.event_name }}
LABEL: ${{ github.event.pull_request.head.label }}
# Prevent output buffering
PYTHONUNBUFFERED: 1
jobs:
build:
permissions:
id-token: write # This is required for configure-aws-credentials
contents: read # This is required for actions/checkout

if: ${{ github.repository == 'nv-legate/cunumeric' }}
runs-on: self-hosted
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Dump job context
env:
JOB_CONTEXT: ${{ toJSON(job) }}
run: echo "$JOB_CONTEXT"
- name: Dump steps context
env:
STEPS_CONTEXT: ${{ toJSON(steps) }}
run: echo "$STEPS_CONTEXT"
- name: Dump runner context
env:
RUNNER_CONTEXT: ${{ toJSON(runner) }}
run: echo "$RUNNER_CONTEXT"
- name: Dump strategy context
env:
STRATEGY_CONTEXT: ${{ toJSON(strategy) }}
run: echo "$STRATEGY_CONTEXT"
- name: Dump matrix context
env:
MATRIX_CONTEXT: ${{ toJSON(matrix) }}
run: echo "$MATRIX_CONTEXT"
- name: Run CI build
run: |
/data/github-runner/legate-bin/setup.sh
cd legate-ci/github-ci/cunumeric
rm -rf ngc-artifacts || true
DOCKERFILE_EXT=.separate.ucx ./build.sh > ${COMMIT}-build.log 2>&1
- name: Process Output
run: |
cd legate-ci/github-ci/cunumeric
cat *artifacts/*/*
if: always()
- name: Upload Build Log
if: always()
uses: actions/upload-artifact@v3
with:
name: build-log
path: ./**/${{ env.COMMIT }}-build.log.gpg
test:
if: ${{ github.repository == 'nv-legate/cunumeric' }}
runs-on: self-hosted
needs: build
strategy:
fail-fast: false
matrix:
include:
- {name: 2 rank 1 CPU test, options: --ranks-per-node 2 --launcher mpirun --cpus 1 --unit --debug, log: cpu, instance: 1}
- {name: 2 rank 2 CPUs test, options: --ranks-per-node 2 --launcher mpirun --cpus 2 --debug, log: cpus, instance: 1}
- {name: 2 rank GPU test, options: --ranks-per-node 2 --launcher mpirun --use cuda --gpus 1 --debug, log: gpu, instance: 2}
- {name: 2 rank 2 GPUs test, options: --ranks-per-node 2 --launcher mpirun --use cuda --gpus 2 --debug, log: gpus, instance: 4}
- {name: 2 rank OpenMP test, options: --ranks-per-node 2 --launcher mpirun --use openmp --omps 1 --ompthreads 2 --debug, log: omp, instance: 1}
- {name: 2 rank 2 NUMA OpenMPs test, options: --ranks-per-node 2 --launcher mpirun --use openmp --omps 2 --ompthreads 2 --numamem 2048 --debug, log: omps, instance: 1}
- {name: Eager execution test, options: --use eager --debug, log: eager, instance: 1}
name: ${{ matrix.name }}
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
run: echo "$GITHUB_CONTEXT"
- name: Dump job context
env:
JOB_CONTEXT: ${{ toJSON(job) }}
run: echo "$JOB_CONTEXT"
- name: Dump steps context
env:
STEPS_CONTEXT: ${{ toJSON(steps) }}
run: echo "$STEPS_CONTEXT"
- name: Dump runner context
env:
RUNNER_CONTEXT: ${{ toJSON(runner) }}
run: echo "$RUNNER_CONTEXT"
- name: Dump strategy context
env:
STRATEGY_CONTEXT: ${{ toJSON(strategy) }}
run: echo "$STRATEGY_CONTEXT"
- name: Dump matrix context
env:
MATRIX_CONTEXT: ${{ toJSON(matrix) }}
run: echo "$MATRIX_CONTEXT"
- name: Prepare
run: |
/data/github-runner/legate-bin/setup.sh
cd legate-ci/github-ci/cunumeric
if [[ ! -d ngc-artifacts ]]
then
mkdir ngc-artifacts
else
rm -rf ngc-artifacts/*
fi
- name: Test
run: |
cd legate-ci/github-ci/cunumeric
[[ "${{ matrix.name }}" == "Eager"* ]] && export PYTHONFAULTHANDLER=1
INSTANCE=${{ matrix.instance }} ./test.sh ${{ matrix.options }} > ${COMMIT}-test-${{ matrix.log }}.log 2>&1
- name: Process output
if: always()
run: |
cd legate-ci/github-ci/cunumeric
/data/github-runner/legate-bin/encrypt.sh ${COMMIT}-test-${{ matrix.log }}.log
cat *artifacts/*/*
- name: Upload Log
if: always()
uses: actions/upload-artifact@v3
with:
name: test-${{ matrix.log }}-log
path: ./**/${{ env.COMMIT }}-test-${{ matrix.log }}.log.gpg
2 changes: 1 addition & 1 deletion cmake/versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"git_url" : "https://github.com/nv-legate/legate.core.git",
"git_shallow": false,
"always_download": false,
"git_tag" : "35d0d4bd3c9d19946ccc641ec7074b44bbae8046"
"git_tag" : "a405f595603238c8557cb5fefd3981d190a2fb1d"
}
}
}