the let_* algorithms have a dependent domain, which causes a recursiv… #594
Workflow file for this run
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" |