From b0dc702b15e362ce68d845db15a1247b338e7fae Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Mon, 9 Dec 2024 16:05:48 -0600 Subject: [PATCH 1/4] Update cuda-python lower bounds to 12.6.2 / 11.8.5 (#4813) We require a newer cuda-python lower bound for new features and to use the new layout. This will fix a number of errors observed when the runtime version of cuda-python is older than the version used to build packages using Cython features from cuda-python. See https://github.com/rapidsai/build-planning/issues/117#issuecomment-2524250915 for details. Authors: - Bradley Dice (https://github.com/bdice) - Ralph Liu (https://github.com/nv-rliu) Approvers: - James Lamb (https://github.com/jameslamb) URL: https://github.com/rapidsai/cugraph/pull/4813 --- conda/recipes/cugraph/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda/recipes/cugraph/meta.yaml b/conda/recipes/cugraph/meta.yaml index 9f5a137faba..094b30c5fce 100644 --- a/conda/recipes/cugraph/meta.yaml +++ b/conda/recipes/cugraph/meta.yaml @@ -75,10 +75,10 @@ requirements: - {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }} {% if cuda_major == "11" %} - cudatoolkit - - cuda-python >=11.7.1,<12.0a0 + - cuda-python >=11.8.5,<12.0a0 {% else %} - cuda-cudart - - cuda-python >=12.0,<13.0a0 + - cuda-python >=12.6.2,<13.0a0 {% endif %} - cudf ={{ minor_version }} - cupy >=12.0.0 From e03986c6a6876be4f1143ff1f4fd58b79ce9def5 Mon Sep 17 00:00:00 2001 From: Jake Awe <50372925+AyodeAwe@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:21:48 -0600 Subject: [PATCH 2/4] Update version references in workflow (#4824) Update version references in breaking-change trigger workflow --- .github/workflows/trigger-breaking-change-alert.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/trigger-breaking-change-alert.yaml b/.github/workflows/trigger-breaking-change-alert.yaml index 3b972f31ca4..01dd2436beb 100644 --- a/.github/workflows/trigger-breaking-change-alert.yaml +++ b/.github/workflows/trigger-breaking-change-alert.yaml @@ -12,7 +12,7 @@ jobs: trigger-notifier: if: contains(github.event.pull_request.labels.*.name, 'breaking') secrets: inherit - uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@branch-24.12 + uses: rapidsai/shared-workflows/.github/workflows/breaking-change-alert.yaml@branch-25.02 with: sender_login: ${{ github.event.sender.login }} sender_avatar: ${{ github.event.sender.avatar_url }} From afc94c3c4f46117a5d2332b4b6f58e2797c2313a Mon Sep 17 00:00:00 2001 From: Ralph Liu <137829296+nv-rliu@users.noreply.github.com> Date: Thu, 12 Dec 2024 14:36:17 +0900 Subject: [PATCH 3/4] Add `amazon0302.txt.gz` Benchmarking Dataset to Datasets API (#4790) This PR adds an additional benchmarking dataset to the cugraph datasets API Authors: - Ralph Liu (https://github.com/nv-rliu) Approvers: - Chuck Hastings (https://github.com/ChuckHastings) - Rick Ratzel (https://github.com/rlratzel) URL: https://github.com/rapidsai/cugraph/pull/4790 --- python/cugraph/cugraph/datasets/__init__.py | 3 ++- .../cugraph/datasets/metadata/amazon0302.yaml | 26 +++++++++++++++++++ python/cugraph/cugraph/testing/__init__.py | 11 ++++++-- .../cugraph/tests/utils/test_dataset.py | 1 + python/cugraph/cugraph/utilities/utils.py | 2 +- 5 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 python/cugraph/cugraph/datasets/metadata/amazon0302.yaml diff --git a/python/cugraph/cugraph/datasets/__init__.py b/python/cugraph/cugraph/datasets/__init__.py index ac18274d354..ecf10f3c4ef 100644 --- a/python/cugraph/cugraph/datasets/__init__.py +++ b/python/cugraph/cugraph/datasets/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2022-2023, NVIDIA CORPORATION. +# Copyright (c) 2022-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 @@ -49,3 +49,4 @@ europe_osm = Dataset(meta_path / "europe_osm.yaml") # 1.5 GB hollywood = Dataset(meta_path / "hollywood.yaml") +amazon0302 = Dataset(meta_path / "amazon0302.yaml") diff --git a/python/cugraph/cugraph/datasets/metadata/amazon0302.yaml b/python/cugraph/cugraph/datasets/metadata/amazon0302.yaml new file mode 100644 index 00000000000..b02c936a06e --- /dev/null +++ b/python/cugraph/cugraph/datasets/metadata/amazon0302.yaml @@ -0,0 +1,26 @@ +name: amazon0302 +file_type: .gz +description: + This network was collected by crawling the Amazon website. It is based on the + "Customers Who Bought This Item Also Bought" feature of the Amazon website. + If product i is frequently co-purchased with product j, the graph contains a + directed edge from i to j. The data was collected in March 02 2003. +author: J. Leskovec, L. Adamic and B. Adamic +refs: + J. Leskovec, L. Adamic and B. Adamic. The Dynamics of Viral Marketing. + ACM Transactions on the Web (ACM TWEB), 1(1), 2007. +delim: "\t" +header: 3 +col_names: + - FromNodeId + - ToNodeId +col_types: + - int32 + - int32 +has_loop: false +is_directed: true +is_multigraph: false +is_symmetric: false +number_of_edges: 1234877 +number_of_nodes: 262111 +url: https://snap.stanford.edu/data/amazon0302.txt.gz diff --git a/python/cugraph/cugraph/testing/__init__.py b/python/cugraph/cugraph/testing/__init__.py index 2b4a4fd3ebf..5c89159bcff 100644 --- a/python/cugraph/cugraph/testing/__init__.py +++ b/python/cugraph/cugraph/testing/__init__.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 @@ -38,6 +38,7 @@ cit_patents, europe_osm, hollywood, + amazon0302, # twitter, ) @@ -71,4 +72,10 @@ toy_graph_undirected, ] DEFAULT_DATASETS = [dolphins, netscience, karate_disjoint] -BENCHMARKING_DATASETS = [soc_livejournal, cit_patents, europe_osm, hollywood] +BENCHMARKING_DATASETS = [ + soc_livejournal, + cit_patents, + europe_osm, + hollywood, + amazon0302, +] diff --git a/python/cugraph/cugraph/tests/utils/test_dataset.py b/python/cugraph/cugraph/tests/utils/test_dataset.py index 3873cd1c3e4..9895eb61c82 100644 --- a/python/cugraph/cugraph/tests/utils/test_dataset.py +++ b/python/cugraph/cugraph/tests/utils/test_dataset.py @@ -104,6 +104,7 @@ def is_symmetric(dataset): return True else: df = dataset.get_edgelist(download=True) + df.rename(columns={df.columns[0]: "src", df.columns[1]: "dst"}, inplace=True) df_a = df.sort_values("src") # create df with swapped src/dst columns diff --git a/python/cugraph/cugraph/utilities/utils.py b/python/cugraph/cugraph/utilities/utils.py index 5bad68a79e2..0257da4ffc0 100644 --- a/python/cugraph/cugraph/utilities/utils.py +++ b/python/cugraph/cugraph/utilities/utils.py @@ -528,7 +528,7 @@ def create_list_series_from_2d_ar(ar, index): cp.arange(start=0, stop=len(data) + 1, step=n_cols), dtype="int32" ) mask_col = cp.full(shape=n_rows, fill_value=True) - mask = cudf._lib.transform.bools_to_mask(as_column(mask_col)) + mask = as_column(mask_col).as_mask() lc = cudf.core.column.ListColumn( data=None, size=n_rows, From 5a33526b2b9b5a4d37de1e3f83d5aff7fcab5ed8 Mon Sep 17 00:00:00 2001 From: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> Date: Wed, 11 Dec 2024 23:51:45 -0800 Subject: [PATCH 4/4] Avoid private mask cudf API in favor of Column.as_mask (#4758) With cudf releasing and further developing `pylibcudf` this release, I'm starting to look at removing cudf old Cython layer (in `cudf._lib`) Luckily I only found one usage in cugraph that is replaceable with a public API. closes #4823 Authors: - Matthew Roeschke (https://github.com/mroeschke) - Alex Barghi (https://github.com/alexbarghi-nv) Approvers: - Rick Ratzel (https://github.com/rlratzel) URL: https://github.com/rapidsai/cugraph/pull/4758