From c9d28432ff5e05c117aaa10eb41025053d2eb230 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Fri, 19 Jul 2024 18:55:25 -0500 Subject: [PATCH 1/5] remove thriftpy2 ceiling (#4521) #4496 introduced a ceiling on `thriftpy2`. Context: https://github.com/rapidsai/cugraph/pull/4496#issuecomment-2192783353 The bug that ceiling was added to avoid was fixed in v0.5.2 of `thriftpy2`, which was just released (https://github.com/rapidsai/cugraph/pull/4478#issuecomment-2210762587). This removes that, adding `!=` constraints to skip the 2 versions that `cugraph` was not compatible with. ## Notes for Reviewers ### Why not a floor? I'm proposing adding `!=` constraints to skip v0.5.0 and v0.5.1 to maximize `cugraph`'s compatibility with other environments... that'd allow it to be used in environments with `thriftpy2<0.5.0` and in environments with `thriftpy2>0.5.2`. Let me know if you'd prefer the simplicity of a floor like `>=0.5.2` instead. Authors: - James Lamb (https://github.com/jameslamb) - Ralph Liu (https://github.com/nv-rliu) Approvers: - Bradley Dice (https://github.com/bdice) - Ralph Liu (https://github.com/nv-rliu) - Rick Ratzel (https://github.com/rlratzel) URL: https://github.com/rapidsai/cugraph/pull/4521 --- conda/environments/all_cuda-118_arch-x86_64.yaml | 2 +- conda/environments/all_cuda-125_arch-x86_64.yaml | 2 +- conda/recipes/cugraph-service/meta.yaml | 4 ++-- dependencies.yaml | 4 +--- python/cugraph-service/client/pyproject.toml | 2 +- python/cugraph-service/server/pyproject.toml | 2 +- 6 files changed, 7 insertions(+), 9 deletions(-) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 5885d154aa5..5d2c942cd0c 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -71,7 +71,7 @@ dependencies: - sphinx-markdown-tables - sphinx<6 - sphinxcontrib-websupport -- thriftpy2<=0.5.0 +- thriftpy2!=0.5.0,!=0.5.1 - ucx-proc=*=gpu - ucx-py==0.39.*,>=0.0.0a0 - wget diff --git a/conda/environments/all_cuda-125_arch-x86_64.yaml b/conda/environments/all_cuda-125_arch-x86_64.yaml index 8e7c2156b93..f8a95169ddd 100644 --- a/conda/environments/all_cuda-125_arch-x86_64.yaml +++ b/conda/environments/all_cuda-125_arch-x86_64.yaml @@ -76,7 +76,7 @@ dependencies: - sphinx-markdown-tables - sphinx<6 - sphinxcontrib-websupport -- thriftpy2<=0.5.0 +- thriftpy2!=0.5.0,!=0.5.1 - ucx-proc=*=gpu - ucx-py==0.39.*,>=0.0.0a0 - wget diff --git a/conda/recipes/cugraph-service/meta.yaml b/conda/recipes/cugraph-service/meta.yaml index 79b2837eb53..225f40fe2ec 100644 --- a/conda/recipes/cugraph-service/meta.yaml +++ b/conda/recipes/cugraph-service/meta.yaml @@ -32,7 +32,7 @@ outputs: - rapids-build-backend>=0.3.1,<0.4.0.dev0 run: - python - - thriftpy2 >=0.4.15 + - thriftpy2 >=0.4.15,!=0.5.0,!=0.5.1 - name: cugraph-service-server version: {{ version }} @@ -65,7 +65,7 @@ outputs: - numpy >=1.23,<2.0a0 - python - rapids-dask-dependency ={{ minor_version }} - - thriftpy2 >=0.4.15 + - thriftpy2 >=0.4.15,!=0.5.0,!=0.5.1 - ucx-py {{ ucx_py_version }} tests: diff --git a/dependencies.yaml b/dependencies.yaml index 1ef92274bde..c25dcf40cf3 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -563,9 +563,7 @@ dependencies: common: - output_types: [conda, pyproject] packages: - # this thriftpy2 entry can be removed entirely (or switched to a '!=') - # once a new release of that project resolves https://github.com/Thriftpy/thriftpy2/issues/281 - - &thrift thriftpy2<=0.5.0 + - &thrift thriftpy2!=0.5.0,!=0.5.1 python_run_cugraph_service_server: common: - output_types: [conda, pyproject] diff --git a/python/cugraph-service/client/pyproject.toml b/python/cugraph-service/client/pyproject.toml index e805a2aac95..53170e888ba 100644 --- a/python/cugraph-service/client/pyproject.toml +++ b/python/cugraph-service/client/pyproject.toml @@ -20,7 +20,7 @@ authors = [ license = { text = "Apache 2.0" } requires-python = ">=3.9" dependencies = [ - "thriftpy2<=0.5.0", + "thriftpy2!=0.5.0,!=0.5.1", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../../dependencies.yaml and run `rapids-dependency-file-generator`. classifiers = [ "Intended Audience :: Developers", diff --git a/python/cugraph-service/server/pyproject.toml b/python/cugraph-service/server/pyproject.toml index 2369c47b6d6..4a79e13e532 100644 --- a/python/cugraph-service/server/pyproject.toml +++ b/python/cugraph-service/server/pyproject.toml @@ -30,7 +30,7 @@ dependencies = [ "numpy>=1.23,<2.0a0", "rapids-dask-dependency==24.8.*,>=0.0.0a0", "rmm==24.8.*,>=0.0.0a0", - "thriftpy2<=0.5.0", + "thriftpy2!=0.5.0,!=0.5.1", "ucx-py==0.39.*,>=0.0.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../../dependencies.yaml and run `rapids-dependency-file-generator`. classifiers = [ From 522055b50f8a41b243b725bea355221a25baab64 Mon Sep 17 00:00:00 2001 From: Paul Taylor <178183+trxcllnt@users.noreply.github.com> Date: Mon, 22 Jul 2024 19:00:51 -0700 Subject: [PATCH 2/5] Add `-cuXX` suffixed versions of cugraph-service-client dependency to pyproject.toml's project.dependencies list (#4530) This change ensures RAPIDS build backend writes the correct `cugraph-service-client` package in the `cugraph-service-server` wheel's dependencies metadata. Authors: - Paul Taylor (https://github.com/trxcllnt) Approvers: - Mike Sarahan (https://github.com/msarahan) URL: https://github.com/rapidsai/cugraph/pull/4530 --- dependencies.yaml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index c25dcf40cf3..9d0a5478a50 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -573,10 +573,6 @@ dependencies: - *numba - *numpy - *thrift - - output_types: pyproject - packages: - - *cugraph - - cugraph-service-client==24.8.*,>=0.0.0a0 - output_types: conda packages: - *ucx_py @@ -586,13 +582,19 @@ dependencies: - matrix: cuda: "11.*" packages: + - *cugraph_cu11 + - cugraph-service-client-cu11==24.8.*,>=0.0.0a0 - *ucx_py_cu11 - matrix: cuda: "12.*" packages: + - *cugraph_cu12 + - cugraph-service-client-cu12==24.8.*,>=0.0.0a0 - *ucx_py_cu12 - matrix: packages: + - *cugraph + - cugraph-service-client==24.8.*,>=0.0.0a0 - *ucx_py test_cpp: common: From 0900a06f78dd98864b7d9533c37f42e2ebe25f4b Mon Sep 17 00:00:00 2001 From: Joseph Nke <76006812+jnke2016@users.noreply.github.com> Date: Wed, 24 Jul 2024 10:04:14 +0100 Subject: [PATCH 3/5] Fix triangle count test bug (#4549) This PR count the total number of triangles before testing it against the ground truth. It also remove an unnecessary sorting before testing. Authors: - Joseph Nke (https://github.com/jnke2016) Approvers: - Rick Ratzel (https://github.com/rlratzel) URL: https://github.com/rapidsai/cugraph/pull/4549 --- .../tests/community/test_triangle_count.py | 30 +++++-------------- .../cugraph/tests/traversal/test_paths.py | 16 ++++++++-- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/python/cugraph/cugraph/tests/community/test_triangle_count.py b/python/cugraph/cugraph/tests/community/test_triangle_count.py index 449df32b52a..69cd5fd72e4 100644 --- a/python/cugraph/cugraph/tests/community/test_triangle_count.py +++ b/python/cugraph/cugraph/tests/community/test_triangle_count.py @@ -105,48 +105,32 @@ def test_triangles(input_combo): @pytest.mark.sg def test_triangles_int64(input_combo): Gnx = input_combo["Gnx"] - count_legacy_32 = cugraph.triangle_count(Gnx) + count_int32 = cugraph.triangle_count(Gnx)["counts"].sum() graph_file = input_combo["graph_file"] G = graph_file.get_graph() G.edgelist.edgelist_df = G.edgelist.edgelist_df.astype( {"src": "int64", "dst": "int64"} ) + count_int64 = cugraph.triangle_count(G)["counts"].sum() - count_exp_64 = ( - cugraph.triangle_count(G) - .sort_values("vertex") - .reset_index(drop=True) - .rename(columns={"counts": "exp_cugraph_counts"}) - ) - cugraph_exp_triangle_results = count_exp_64["exp_cugraph_counts"].sum() assert G.edgelist.edgelist_df["src"].dtype == "int64" assert G.edgelist.edgelist_df["dst"].dtype == "int64" - assert cugraph_exp_triangle_results == count_legacy_32 + assert count_int32 == count_int64 @pytest.mark.sg def test_triangles_no_weights(input_combo): G_weighted = input_combo["Gnx"] - count_legacy = ( - cugraph.triangle_count(G_weighted) - .sort_values("vertex") - .reset_index(drop=True) - .rename(columns={"counts": "exp_cugraph_counts"}) - ) + count_triangles_nx_graph = cugraph.triangle_count(G_weighted)["counts"].sum() graph_file = input_combo["graph_file"] G = graph_file.get_graph(ignore_weights=True) assert G.is_weighted() is False - triangle_count = ( - cugraph.triangle_count(G) - .sort_values("vertex") - .reset_index(drop=True) - .rename(columns={"counts": "exp_cugraph_counts"}) - ) - cugraph_exp_triangle_results = triangle_count["exp_cugraph_counts"].sum() - assert cugraph_exp_triangle_results == count_legacy + count_triangles = cugraph.triangle_count(G)["counts"].sum() + + assert count_triangles_nx_graph == count_triangles @pytest.mark.sg diff --git a/python/cugraph/cugraph/tests/traversal/test_paths.py b/python/cugraph/cugraph/tests/traversal/test_paths.py index 5ee22874f4a..4ef10da593c 100644 --- a/python/cugraph/cugraph/tests/traversal/test_paths.py +++ b/python/cugraph/cugraph/tests/traversal/test_paths.py @@ -1,4 +1,4 @@ -# Copyright (c) 2019-2023, NVIDIA CORPORATION. +# Copyright (c) 2019-2024, NVIDIA CORPORATION. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -22,6 +22,7 @@ import cupy import cugraph from cugraph.testing import get_resultset, load_resultset +from cudf.testing.testing import assert_series_equal from cupyx.scipy.sparse import coo_matrix as cupy_coo_matrix @@ -204,7 +205,11 @@ def test_shortest_path_length_no_path(graphs): def test_shortest_path_length_no_target(graphs, load_traversal_results): cugraph_G, cupy_df = graphs - cugraph_path_1_to_all = cugraph.shortest_path_length(cugraph_G, 1) + cugraph_path_1_to_all = ( + cugraph.shortest_path_length(cugraph_G, 1) + .sort_values("vertex") + .reset_index(drop=True) + ) golden_path_1_to_all = get_resultset( resultset_name="traversal", algo="shortest_path_length", @@ -217,7 +222,12 @@ def test_shortest_path_length_no_target(graphs, load_traversal_results): # Cast networkx graph on cugraph vertex column type from str to int. # SSSP preserves vertex type, convert for comparison - assert cugraph_path_1_to_all == cupy_path_1_to_all + assert_series_equal( + cugraph_path_1_to_all["distance"], + cupy_path_1_to_all["distance"], + check_names=False, + check_dtype=False, + ) # results for vertex 8 and 9 are not returned assert cugraph_path_1_to_all.shape[0] == len(golden_path_1_to_all) + 2 From f628718b024409fd9b7f66c65859139d236de886 Mon Sep 17 00:00:00 2001 From: Alex Barghi <105237337+alexbarghi-nv@users.noreply.github.com> Date: Mon, 29 Jul 2024 12:13:28 -0400 Subject: [PATCH 4/5] Temporarily Disable Feature Store Tests with WholeGraph (#4559) CI is currently blocked due to these tests failing. This PR disables the failing tests to unblock CI. --- .../tests/data_store/test_gnn_feat_storage_wholegraph.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/python/cugraph/cugraph/tests/data_store/test_gnn_feat_storage_wholegraph.py b/python/cugraph/cugraph/tests/data_store/test_gnn_feat_storage_wholegraph.py index 1892e8a85a6..0a272e445fa 100644 --- a/python/cugraph/cugraph/tests/data_store/test_gnn_feat_storage_wholegraph.py +++ b/python/cugraph/cugraph/tests/data_store/test_gnn_feat_storage_wholegraph.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023, NVIDIA CORPORATION. +# Copyright (c) 2023-2024, NVIDIA CORPORATION. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at @@ -60,6 +60,7 @@ def runtest(world_rank: int, world_size: int): @pytest.mark.skipif( isinstance(pylibwholegraph, MissingModule), reason="wholegraph not available" ) +@pytest.mark.skip(reason="broken") def test_feature_storage_wholegraph_backend(): from pylibwholegraph.utils.multiprocess import multiprocess_run @@ -75,6 +76,7 @@ def test_feature_storage_wholegraph_backend(): @pytest.mark.skipif( isinstance(pylibwholegraph, MissingModule), reason="wholegraph not available" ) +@pytest.mark.skip(reason="broken") def test_feature_storage_wholegraph_backend_mg(): from pylibwholegraph.utils.multiprocess import multiprocess_run From 4fb6470f5af70d9f50e0a907009594048ea8862f Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 30 Jul 2024 00:14:13 -0500 Subject: [PATCH 5/5] split up CUDA-suffixed dependencies in dependencies.yaml (#4552) Contributes to https://github.com/rapidsai/build-planning/issues/31 In short, RAPIDS DLFW builds want to produce wheels with unsuffixed dependencies, e.g. `cudf` depending on `rmm`, not `rmm-cu12`. This PR is part of a series across all of RAPIDS to try to support that type of build by setting up CUDA-suffixed and CUDA-unsuffixed dependency lists in `dependencies.yaml`. For more details, see: * https://github.com/rapidsai/build-planning/issues/31#issuecomment-2245815818 * https://github.com/rapidsai/cudf/pull/16183 ## Notes for Reviewers ### Why target 24.08? This is targeting 24.08 because: 1. it should be very low-risk 2. getting these changes into 24.08 prevents the need to carry around patches for every library in DLFW builds using RAPIDS 24.08 Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Bradley Dice (https://github.com/bdice) URL: https://github.com/rapidsai/cugraph/pull/4552 --- dependencies.yaml | 129 ++++++++++++------- python/cugraph-dgl/pyproject.toml | 1 + python/cugraph-equivariant/pyproject.toml | 1 + python/cugraph-pyg/pyproject.toml | 1 + python/cugraph-service/client/pyproject.toml | 1 + python/cugraph-service/server/pyproject.toml | 1 + python/cugraph/pyproject.toml | 1 + python/nx-cugraph/pyproject.toml | 1 + python/pylibcugraph/pyproject.toml | 1 + 9 files changed, 94 insertions(+), 43 deletions(-) diff --git a/dependencies.yaml b/dependencies.yaml index 9d0a5478a50..82affb08dac 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -493,7 +493,7 @@ dependencies: - requests - nccl>=2.9.9 - ucx-proc=*=gpu - - &ucx_py ucx-py==0.39.*,>=0.0.0a0 + - &ucx_py_unsuffixed ucx-py==0.39.*,>=0.0.0a0 - output_types: pyproject packages: # cudf uses fsspec but is protocol independent. cugraph @@ -504,15 +504,17 @@ dependencies: matrices: - matrix: cuda: "11.*" + cuda_suffixed: "true" packages: - &ucx_py_cu11 ucx-py-cu11==0.39.*,>=0.0.0a0 - matrix: cuda: "12.*" + cuda_suffixed: "true" packages: - &ucx_py_cu12 ucx-py-cu12==0.39.*,>=0.0.0a0 - matrix: packages: - - *ucx_py + - *ucx_py_unsuffixed python_run_nx_cugraph: common: - output_types: [conda, pyproject] @@ -530,15 +532,17 @@ dependencies: matrices: - matrix: cuda: "11.*" + cuda_suffixed: "true" packages: - &cugraph_cu11 cugraph-cu11==24.8.*,>=0.0.0a0 - matrix: cuda: "12.*" + cuda_suffixed: "true" packages: - &cugraph_cu12 cugraph-cu12==24.8.*,>=0.0.0a0 - matrix: packages: - - &cugraph cugraph==24.8.*,>=0.0.0a0 + - &cugraph_unsuffixed cugraph==24.8.*,>=0.0.0a0 python_run_cugraph_pyg: common: - output_types: [conda, pyproject] @@ -550,15 +554,17 @@ dependencies: matrices: - matrix: cuda: "11.*" + cuda_suffixed: "true" packages: - *cugraph_cu11 - matrix: cuda: "12.*" + cuda_suffixed: "true" packages: - *cugraph_cu12 - matrix: packages: - - *cugraph + - *cugraph_unsuffixed python_run_cugraph_service_client: common: - output_types: [conda, pyproject] @@ -575,27 +581,29 @@ dependencies: - *thrift - output_types: conda packages: - - *ucx_py + - *ucx_py_unsuffixed specific: - output_types: pyproject matrices: - matrix: cuda: "11.*" + cuda_suffixed: "true" packages: - *cugraph_cu11 - cugraph-service-client-cu11==24.8.*,>=0.0.0a0 - *ucx_py_cu11 - matrix: cuda: "12.*" + cuda_suffixed: "true" packages: - *cugraph_cu12 - cugraph-service-client-cu12==24.8.*,>=0.0.0a0 - *ucx_py_cu12 - matrix: packages: - - *cugraph + - *cugraph_unsuffixed - cugraph-service-client==24.8.*,>=0.0.0a0 - - *ucx_py + - *ucx_py_unsuffixed test_cpp: common: - output_types: conda @@ -630,7 +638,7 @@ dependencies: - scikit-learn>=0.23.1 - output_types: [conda] packages: - - &pylibwholegraph_conda pylibwholegraph==24.8.*,>=0.0.0a0 + - &pylibwholegraph_unsuffixed pylibwholegraph==24.8.*,>=0.0.0a0 - *thrift test_python_pylibcugraph: common: @@ -648,7 +656,7 @@ dependencies: common: - output_types: [conda] packages: - - cugraph==24.8.*,>=0.0.0a0 + - *cugraph_unsuffixed - pytorch>=2.0 - pytorch-cuda==11.8 - dgl>=1.1.0.cu* @@ -656,7 +664,7 @@ dependencies: common: - output_types: [conda] packages: - - cugraph==24.8.*,>=0.0.0a0 + - *cugraph_unsuffixed - pytorch>=2.0 - pytorch-cuda==11.8 - &tensordict tensordict>=0.1.2 @@ -666,7 +674,7 @@ dependencies: common: - output_types: [conda] packages: - - &pytorch_conda pytorch>=2.0,<2.2.0a0 + - &pytorch_unsuffixed pytorch>=2.0,<2.2.0a0 specific: - output_types: [requirements] @@ -694,7 +702,7 @@ dependencies: common: - output_types: conda packages: - - *pylibwholegraph_conda + - *pylibwholegraph_unsuffixed - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -703,19 +711,23 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - pylibwholegraph-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - pylibwholegraph-cu11==24.8.*,>=0.0.0a0 - - {matrix: null, packages: [*pylibwholegraph_conda]} + - {matrix: null, packages: [*pylibwholegraph_unsuffixed]} depends_on_rmm: common: - output_types: conda packages: - - &rmm_conda rmm==24.8.*,>=0.0.0a0 + - &rmm_unsuffixed rmm==24.8.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -724,19 +736,23 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - rmm-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - rmm-cu11==24.8.*,>=0.0.0a0 - - {matrix: null, packages: [*rmm_conda]} + - {matrix: null, packages: [*rmm_unsuffixed]} depends_on_cudf: common: - output_types: conda packages: - - &cudf_conda cudf==24.8.*,>=0.0.0a0 + - &cudf_unsuffixed cudf==24.8.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -745,19 +761,23 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - cudf-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - cudf-cu11==24.8.*,>=0.0.0a0 - - {matrix: null, packages: [*cudf_conda]} + - {matrix: null, packages: [*cudf_unsuffixed]} depends_on_dask_cudf: common: - output_types: conda packages: - - &dask_cudf_conda dask-cudf==24.8.*,>=0.0.0a0 + - &dask_cudf_unsuffixed dask-cudf==24.8.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -766,19 +786,23 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - dask-cudf-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - dask-cudf-cu11==24.8.*,>=0.0.0a0 - - {matrix: null, packages: [*dask_cudf_conda]} + - {matrix: null, packages: [*dask_cudf_unsuffixed]} depends_on_pylibraft: common: - output_types: conda packages: - - &pylibraft_conda pylibraft==24.8.*,>=0.0.0a0 + - &pylibraft_unsuffixed pylibraft==24.8.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -787,19 +811,23 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - pylibraft-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - pylibraft-cu11==24.8.*,>=0.0.0a0 - - {matrix: null, packages: [*pylibraft_conda]} + - {matrix: null, packages: [*pylibraft_unsuffixed]} depends_on_raft_dask: common: - output_types: conda packages: - - &raft_dask_conda raft-dask==24.8.*,>=0.0.0a0 + - &raft_dask_unsuffixed raft-dask==24.8.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -808,19 +836,23 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - raft-dask-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - raft-dask-cu11==24.8.*,>=0.0.0a0 - - {matrix: null, packages: [*raft_dask_conda]} + - {matrix: null, packages: [*raft_dask_unsuffixed]} depends_on_pylibcugraph: common: - output_types: conda packages: - - &pylibcugraph_conda pylibcugraph==24.8.*,>=0.0.0a0 + - &pylibcugraph_unsuffixed pylibcugraph==24.8.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -829,19 +861,23 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - pylibcugraph-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - pylibcugraph-cu11==24.8.*,>=0.0.0a0 - - {matrix: null, packages: [*pylibcugraph_conda]} + - {matrix: null, packages: [*pylibcugraph_unsuffixed]} depends_on_pylibcugraphops: common: - output_types: conda packages: - - &pylibcugraphops_conda pylibcugraphops==24.8.*,>=0.0.0a0 + - &pylibcugraphops_unsuffixed pylibcugraphops==24.8.*,>=0.0.0a0 - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file @@ -850,19 +886,26 @@ dependencies: specific: - output_types: [requirements, pyproject] matrices: - - matrix: {cuda: "12.*"} + - matrix: + cuda: "12.*" + cuda_suffixed: "true" packages: - pylibcugraphops-cu12==24.8.*,>=0.0.0a0 - - matrix: {cuda: "11.*"} + - matrix: + cuda: "11.*" + cuda_suffixed: "true" packages: - pylibcugraphops-cu11==24.8.*,>=0.0.0a0 - - {matrix: null, packages: [*pylibcugraphops_conda]} + - {matrix: null, packages: [*pylibcugraphops_unsuffixed]} depends_on_cupy: common: - output_types: conda packages: - cupy>=12.0.0 + # NOTE: This is intentionally not broken into groups by a 'cuda_suffixed' selector like + # other packages with -cu{nn}x suffixes in this file. + # All RAPIDS wheel builds (including in devcontainers) expect cupy to be suffixed. specific: - output_types: [requirements, pyproject] matrices: diff --git a/python/cugraph-dgl/pyproject.toml b/python/cugraph-dgl/pyproject.toml index 1762b1e6d8e..b5a17e425a9 100644 --- a/python/cugraph-dgl/pyproject.toml +++ b/python/cugraph-dgl/pyproject.toml @@ -61,3 +61,4 @@ include = [ [tool.rapids-build-backend] build-backend = "setuptools.build_meta" dependencies-file = "../../dependencies.yaml" +matrix-entry = "cuda_suffixed=true" diff --git a/python/cugraph-equivariant/pyproject.toml b/python/cugraph-equivariant/pyproject.toml index f9c992e3fb9..151ad79ea6c 100644 --- a/python/cugraph-equivariant/pyproject.toml +++ b/python/cugraph-equivariant/pyproject.toml @@ -69,3 +69,4 @@ include = [ [tool.rapids-build-backend] build-backend = "setuptools.build_meta" dependencies-file = "../../dependencies.yaml" +matrix-entry = "cuda_suffixed=true" diff --git a/python/cugraph-pyg/pyproject.toml b/python/cugraph-pyg/pyproject.toml index 8ccd305a6bd..c929c9c49be 100644 --- a/python/cugraph-pyg/pyproject.toml +++ b/python/cugraph-pyg/pyproject.toml @@ -67,3 +67,4 @@ include = [ [tool.rapids-build-backend] build-backend = "setuptools.build_meta" dependencies-file = "../../dependencies.yaml" +matrix-entry = "cuda_suffixed=true" diff --git a/python/cugraph-service/client/pyproject.toml b/python/cugraph-service/client/pyproject.toml index 53170e888ba..75deea88e2e 100644 --- a/python/cugraph-service/client/pyproject.toml +++ b/python/cugraph-service/client/pyproject.toml @@ -49,3 +49,4 @@ include = [ build-backend = "setuptools.build_meta" dependencies-file = "../../../dependencies.yaml" disable-cuda = true +matrix-entry = "cuda_suffixed=true" diff --git a/python/cugraph-service/server/pyproject.toml b/python/cugraph-service/server/pyproject.toml index 4a79e13e532..c16e4589f25 100644 --- a/python/cugraph-service/server/pyproject.toml +++ b/python/cugraph-service/server/pyproject.toml @@ -77,3 +77,4 @@ include = [ [tool.rapids-build-backend] build-backend = "setuptools.build_meta" dependencies-file = "../../../dependencies.yaml" +matrix-entry = "cuda_suffixed=true" diff --git a/python/cugraph/pyproject.toml b/python/cugraph/pyproject.toml index 218868da000..c3685b8ba1a 100644 --- a/python/cugraph/pyproject.toml +++ b/python/cugraph/pyproject.toml @@ -86,3 +86,4 @@ requires = [ "rmm==24.8.*,>=0.0.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. dependencies-file = "../../dependencies.yaml" +matrix-entry = "cuda_suffixed=true" diff --git a/python/nx-cugraph/pyproject.toml b/python/nx-cugraph/pyproject.toml index 50881d5db90..07e09201c92 100644 --- a/python/nx-cugraph/pyproject.toml +++ b/python/nx-cugraph/pyproject.toml @@ -86,6 +86,7 @@ include = [ build-backend = "setuptools.build_meta" commit-files = ["_nx_cugraph/GIT_COMMIT"] dependencies-file = "../../dependencies.yaml" +matrix-entry = "cuda_suffixed=true" [tool.black] line-length = 88 diff --git a/python/pylibcugraph/pyproject.toml b/python/pylibcugraph/pyproject.toml index 984e1d140f2..5f13f45f99a 100644 --- a/python/pylibcugraph/pyproject.toml +++ b/python/pylibcugraph/pyproject.toml @@ -72,3 +72,4 @@ requires = [ "pylibraft==24.8.*,>=0.0.0a0", "rmm==24.8.*,>=0.0.0a0", ] # This list was generated by `rapids-dependency-file-generator`. To make changes, edit ../../dependencies.yaml and run `rapids-dependency-file-generator`. +matrix-entry = "cuda_suffixed=true"