Skip to content

Merge pull request #1117 from NVIDIA/correct-domain-of-on #589

Merge pull request #1117 from NVIDIA/correct-domain-of-on

Merge pull request #1117 from NVIDIA/correct-domain-of-on #589

Workflow file for this run

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"