Merge pull request #1117 from NVIDIA/correct-domain-of-on #589
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI (GPU) | |
on: | |
push: | |
branches: | |
- main | |
- "pull-request/[0-9]+" | |
concurrency: | |
group: ${{ github.workflow }}-on-${{ github.event_name }}-from-${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
build-gpu: | |
if: github.repository == 'NVIDIA/stdexec' | |
name: GPU (${{ matrix.name }}, CUDA ${{ matrix.cuda }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- { name: "nvc++ 23.3", cuda: "12.0", cxx: "mpic++", tag: "nvhpc23.3", gpu: "v100", sm: "70", driver: "latest", arch: "amd64" } | |
- { name: "clang 16", cuda: "12.0", cxx: "clang++", tag: "llvm16-cuda12.0", gpu: "v100", sm: "70", driver: "latest", arch: "amd64" } | |
runs-on: linux-${{ matrix.arch }}-gpu-${{ matrix.gpu }}-${{ matrix.driver }}-1 | |
container: | |
options: -u root | |
image: rapidsai/devcontainers:23.06-cpp-${{ matrix.tag }}-ubuntu22.04 | |
env: | |
CUDA_VERSION: "${{ matrix.cuda }}" | |
NVIDIA_VISIBLE_DEVICES: "${{ env.NVIDIA_VISIBLE_DEVICES }}" | |
steps: | |
- name: Run nvidia-smi to make sure GPU is working | |
run: nvidia-smi | |
- name: Checkout stdexec | |
uses: actions/checkout@v3 | |
with: | |
persist-credentials: false | |
- name: Build and test GPU schedulers | |
shell: bash -elxo pipefail {0} | |
env: | |
cxx: "${{ matrix.cxx }}" | |
run: | | |
mkdir -p /workspaces; | |
cp -ar . /workspaces/stdexec; | |
cd /workspaces/stdexec; | |
# Configure | |
cmake -S . -B build -GNinja \ | |
-DSTDEXEC_ENABLE_IO_URING_TESTS=OFF \ | |
-DSTDEXEC_ENABLE_CUDA=ON \ | |
-DCMAKE_CXX_COMPILER="$cxx" \ | |
-DCMAKE_CUDA_COMPILER="$cxx" \ | |
-DCMAKE_CUDA_ARCHITECTURES=${{ matrix.sm }}; | |
# Compile | |
cmake --build build -v; | |
# Print sccache stats | |
sccache -s | |
# Tests | |
ctest --test-dir build --verbose --output-on-failure --timeout 60; | |
# Examples | |
./build/examples/nvexec/maxwell_cpu_st --iterations=1000 --N=512 --run-cpp --run-inline-scheduler | |
./build/examples/nvexec/maxwell_cpu_mt --iterations=1000 --N=512 --run-std --run-stdpar --run-thread-pool-scheduler | |
./build/examples/nvexec/maxwell_gpu_s --iterations=1000 --N=512 --run-cuda --run-stdpar --run-stream-scheduler | |
ci-gpu: | |
runs-on: ubuntu-latest | |
name: CI (GPU) | |
needs: | |
- build-gpu | |
steps: | |
- run: echo "CI (GPU) success" |