diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index c1a075b3..60f1ab77 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -257,7 +257,7 @@ jobs: with: build_type: pull-request script: ci/test_wheel_pylibwholegraph.sh - matrix_filter: map(select(.PY_VER != "3.14")) | map(select(.ARCH == "amd64")) + matrix_filter: map(select(.PY_VER != "3.14")) wheel-build-cugraph-pyg: needs: checks secrets: inherit @@ -279,4 +279,4 @@ jobs: with: build_type: pull-request script: ci/test_wheel_cugraph-pyg.sh - matrix_filter: map(select(.PY_VER != "3.14")) | map(select(.ARCH == "amd64")) + matrix_filter: map(select(.PY_VER != "3.14")) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index e5131126..0016e379 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -53,7 +53,7 @@ jobs: date: ${{ inputs.date }} sha: ${{ inputs.sha }} script: ci/test_wheel_pylibwholegraph.sh - matrix_filter: map(select(.PY_VER != "3.14")) | map(select(.ARCH == "amd64")) + matrix_filter: map(select(.PY_VER != "3.14")) wheel-tests-cugraph-pyg: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main @@ -63,4 +63,4 @@ jobs: date: ${{ inputs.date }} sha: ${{ inputs.sha }} script: ci/test_wheel_cugraph-pyg.sh - matrix_filter: map(select(.PY_VER != "3.14")) | map(select(.ARCH == "amd64")) + matrix_filter: map(select(.PY_VER != "3.14")) diff --git a/ci/test_wheel_cugraph-pyg.sh b/ci/test_wheel_cugraph-pyg.sh index ab1b2d5f..6eebb990 100755 --- a/ci/test_wheel_cugraph-pyg.sh +++ b/ci/test_wheel_cugraph-pyg.sh @@ -64,22 +64,29 @@ rapids-pip-retry install \ # RAPIDS_DATASET_ROOT_DIR is used by test scripts export RAPIDS_DATASET_ROOT_DIR="$(realpath datasets)" -mkdir -p "${RAPIDS_DATASET_ROOT_DIR}" -pushd "${RAPIDS_DATASET_ROOT_DIR}" -./get_test_data.sh --test -popd # Enable legacy behavior of torch.load for examples relying on ogb export TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD=1 if [[ "${torch_downloaded}" == "true" ]]; then + + # only need to download datasets if 'torch' is installed, otherwise all the + # tests using them are skipped + mkdir -p "${RAPIDS_DATASET_ROOT_DIR}" + pushd "${RAPIDS_DATASET_ROOT_DIR}" + ./get_test_data.sh --test + popd + # 'torch' is an optional dependency of 'cugraph-pyg'... confirm that it's actually # installed here and that we've installed a package with CUDA support. rapids-logger "Confirming that PyTorch is installed" python -c "import torch; assert torch.cuda.is_available()" rapids-logger "pytest cugraph-pyg (single GPU, with 'torch' and 'torch-geometric')" - ./ci/run_cugraph_pyg_pytests.sh + ./ci/run_cugraph_pyg_pytests.sh \ + --cov-config=../../.coveragerc \ + --cov=cugraph_pyg \ + --cov-fail-under=70 fi rapids-logger "import cugraph-pyg (no 'torch' or 'torch-geometric')" diff --git a/ci/test_wheel_pylibwholegraph.sh b/ci/test_wheel_pylibwholegraph.sh index 2fd37ffd..840fe15e 100755 --- a/ci/test_wheel_pylibwholegraph.sh +++ b/ci/test_wheel_pylibwholegraph.sh @@ -57,7 +57,10 @@ if [[ "${torch_downloaded}" == "true" ]]; then python -c "import torch; assert torch.cuda.is_available()" rapids-logger "pytest pylibwholegraph (with 'torch')" - ./ci/run_pylibwholegraph_pytests.sh + ./ci/run_pylibwholegraph_pytests.sh \ + --cov-config=../../.coveragerc \ + --cov=pylibwholegraph \ + --cov-fail-under=15 fi rapids-logger "import pylibwholegraph (no 'torch')" diff --git a/dependencies.yaml b/dependencies.yaml index f6f5a3c2..5ddb3a35 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -445,11 +445,21 @@ dependencies: packages: # matrices below ensure CUDA 'torch' packages are used - matrix: + arch: aarch64 cuda: "12.9" dependencies: "oldest" require_gpu: "true" packages: - &torch_cu129_index --extra-index-url=https://download.pytorch.org/whl/cu129 + # 'triton' didn't have aarch64 wheels until v3.5.0 and 'torch==2.8.0' pins to 'triton==3.4.0'... + # so need to depend on a slightly newer 'torch' for the oldest-deps configuration on aarch64 + - torch==2.9.0+cu129 + - matrix: + cuda: "12.9" + dependencies: "oldest" + require_gpu: "true" + packages: + - *torch_cu129_index - torch==2.8.0+cu129 - matrix: cuda: "12.9" diff --git a/python/cugraph-pyg/pyproject.toml b/python/cugraph-pyg/pyproject.toml index 43014f36..1d2c7b16 100644 --- a/python/cugraph-pyg/pyproject.toml +++ b/python/cugraph-pyg/pyproject.toml @@ -11,6 +11,18 @@ requires = [ build-backend = "rapids_build_backend.build" [tool.pytest.ini_options] +addopts = [ + "--benchmark-warmup=off", + "--benchmark-max-time=0", + "--benchmark-min-rounds=1", + "--benchmark-columns=mean,rounds", + "-m", "not slow" +] +markers = [ + "slow: slow-running tests/benchmarks", + "mg: Test MG code paths - number of gpu > 1", + "sg: Test SG code paths - number of gpu == 1", +] testpaths = ["cugraph_pyg/tests"] [project] diff --git a/python/cugraph-pyg/pytest.ini b/python/cugraph-pyg/pytest.ini deleted file mode 100644 index 1ef34ffd..00000000 --- a/python/cugraph-pyg/pytest.ini +++ /dev/null @@ -1,28 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2021-2022, NVIDIA CORPORATION. -# SPDX-License-Identifier: Apache-2.0 - -[pytest] -addopts = - --benchmark-warmup=off - --benchmark-max-time=0 - --benchmark-min-rounds=1 - --benchmark-columns="mean, rounds" - ## do not run slow tests/benchmarks by default - -m "not slow" - -markers = - slow: slow-running tests/benchmarks - mg: Test MG code paths - number of gpu > 1 - sg: Test SG code paths - number of gpu == 1 - -python_classes = - Bench* - Test* - -python_files = - bench_* - test_* - -python_functions = - bench_* - test_*