From 762731b2205fce6d095007dca73bdf7cff499172 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Tue, 7 Jan 2025 12:23:21 -0600 Subject: [PATCH 1/3] simplify building and testing configs (#71) **This is exactly the same set of changes already approved in #69.** `cugraph-docs` was switched from private to public during the lifetime of that PR, which put CI into a state where that PR couldn't be merged: https://github.com/rapidsai/cugraph-docs/pull/69#discussion_r1902201592 --- Development and the vision for this project has stabilized here quite a bit over the last few weeks, so I think it's a good time to simplify things. This proposes the following: * removing configuration for codecov - *(there are no tests running here)* * removing patterns in CODEOWNERS that don't match any files * removing anything related to CUDA 11, pyproject.toml, or requirements.txt in `dependencies.yaml` and related files - *this repo exclusively uses conda, and only a single major version of CUDA* * updating to `sphinx>=8` and `breathe>=4.35` - *to match the rest of RAPIDS, e.g. https://github.com/rapidsai/cugraph/pull/4839, https://github.com/rapidsai/cuvs/pull/528* - *floors also mean faster conda solves and fewer surprises at build time* * removing unnecessary files in `ci/utils` - *these appear to have been copied from `cugraph`, but they're not needed as we don't do notebook testing here* ## Notes for Reviewers ### How I tested this Tested the `update-version.sh` changes like this: ```shell ./ci/release/update-version.sh '25.04.00' git grep -E '25\.2' git grep -E '25\.02' ``` Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Don Acosta (https://github.com/acostadon) - Ray Douglass (https://github.com/raydouglass) - Bradley Dice (https://github.com/bdice) URL: https://github.com/rapidsai/cugraph-docs/pull/71 --- .github/CODEOWNERS | 9 +- .pre-commit-config.yaml | 1 + ci/build_docs.sh | 25 +-- ci/release/update-version.sh | 27 +-- ci/utils/git_helpers.py | 158 --------------- ci/utils/nbtest.sh | 76 -------- ci/utils/nbtestlog2junitxml.py | 175 ----------------- codecov.yml | 5 - .../all_cuda-125_arch-x86_64.yaml | 17 +- dependencies.yaml | 184 ++---------------- docs/cugraph-docs/source/conf.py | 7 +- 11 files changed, 42 insertions(+), 642 deletions(-) delete mode 100644 ci/utils/git_helpers.py delete mode 100755 ci/utils/nbtest.sh delete mode 100644 ci/utils/nbtestlog2junitxml.py delete mode 100644 codecov.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 21fe84b..fcd8260 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,19 +1,14 @@ # https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners # Order matters - match of highest importance goes last (last match wins) -#doc code owners -datasets/ @rapidsai/cugraph-doc-codeowners -notebooks/ @rapidsai/cugraph-doc-codeowners +# doc code owners docs/ @rapidsai/cugraph-doc-codeowners **/*.txt @rapidsai/cugraph-doc-codeowners **/*.md @rapidsai/cugraph-doc-codeowners **/*.rst @rapidsai/cugraph-doc-codeowners -**/*.ipynb @rapidsai/cugraph-doc-codeowners -**/*.pdf @rapidsai/cugraph-doc-codeowners **/*.png @rapidsai/cugraph-doc-codeowners - -#CI code owners +# CI code owners /.github/ @rapidsai/ci-codeowners /ci/ @rapidsai/ci-codeowners /.pre-commit-config.yaml @rapidsai/ci-codeowners diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c762e26..ef8c0e6 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -4,6 +4,7 @@ repos: - repo: https://github.com/rapidsai/pre-commit-hooks rev: v0.4.0 hooks: + - id: verify-alpha-spec - id: verify-copyright - repo: https://github.com/rapidsai/dependency-file-generator rev: v1.17.0 diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 66b921e..9015c1b 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -1,12 +1,11 @@ #!/bin/bash -# Copyright (c) 2023-2024, NVIDIA CORPORATION. +# Copyright (c) 2023-2025, NVIDIA CORPORATION. set -euo pipefail rapids-logger "Create test conda environment" . /opt/conda/etc/profile.d/conda.sh -RAPIDS_VERSION="$(rapids-version)" RAPIDS_VERSION_MAJOR_MINOR="$(rapids-version-major-minor)" rapids-dependency-file-generator \ @@ -21,28 +20,6 @@ export RAPIDS_DOCS_DIR="$(mktemp -d)" rapids-print-env -if [[ "${RAPIDS_CUDA_VERSION}" == "11.8.0" ]]; then - DGL_CHANNEL="dglteam/label/cu118" -else - DGL_CHANNEL="dglteam/label/cu121" -fi - -rapids-mamba-retry install \ - --channel conda-forge \ - --channel pyg \ - --channel nvidia \ - --channel "${DGL_CHANNEL}" \ - "libcugraph==${RAPIDS_VERSION}.*" \ - "pylibcugraph=${RAPIDS_VERSION}.*" \ - "cugraph=${RAPIDS_VERSION}.*" \ - "cugraph-pyg=${RAPIDS_VERSION}.*" \ - "cugraph-dgl=${RAPIDS_VERSION}.*" \ - "libcugraph_etl=${RAPIDS_VERSION}.*" \ - "pylibcugraphops=${RAPIDS_VERSION}.*" \ - "pylibwholegraph=${RAPIDS_VERSION}.*" \ - pytorch \ - "cuda-version=${RAPIDS_CUDA_VERSION%.*}" - PROJ_LIST=("libcugraph libcugraphops libwholegraph") for PROJECT in ${PROJ_LIST}; do diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index fde6677..91bd9c2 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2018-2024, NVIDIA CORPORATION. +# Copyright (c) 2018-2025, 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 @@ -30,7 +30,6 @@ CURRENT_SHORT_TAG=${CURRENT_MAJOR}.${CURRENT_MINOR} NEXT_MAJOR=$(echo $NEXT_FULL_TAG | awk '{split($0, a, "."); print a[1]}') NEXT_MINOR=$(echo $NEXT_FULL_TAG | awk '{split($0, a, "."); print a[2]}') NEXT_SHORT_TAG=${NEXT_MAJOR}.${NEXT_MINOR} -NEXT_UCX_PY_VERSION="$(curl -sL https://version.gpuci.io/rapids/${NEXT_SHORT_TAG})" echo "Preparing release $CURRENT_TAG => $NEXT_FULL_TAG" @@ -42,40 +41,26 @@ function sed_runner() { # Centralized version file update # NOTE: Any script that runs in CI will need to use gha-tool `rapids-generate-version` # and echo it to `VERSION` file to get an alpha spec of the current version -echo "${NEXT_FULL_TAG}" > VERSION +echo "${NEXT_FULL_TAG}" > ./VERSION # Need to distutils-normalize the original version NEXT_SHORT_TAG_PEP440=$(python -c "from packaging.version import Version; print(Version('${NEXT_SHORT_TAG}'))") DEPENDENCIES=( - cudf cugraph cugraph-dgl cugraph-pyg - cugraph-service-server - cugraph-service-client - cuxfilter - dask-cuda - dask-cudf - libcudf + libcugraph + libcugraph_etl libcugraphops - libraft - libraft-headers - librmm + nx-cugraph pylibcugraph pylibcugraphops pylibwholegraph - pylibraft - pyraft - raft-dask - rmm - ucx-py - rapids-dask-dependency ) for DEP in "${DEPENDENCIES[@]}"; do for FILE in dependencies.yaml conda/environments/*.yaml; do - sed_runner "/-.* ${DEP}\(-cu[[:digit:]]\{2\}\)\{0,1\}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*/g" "${FILE}" - sed_runner "/-.* ucx-py==/ s/==.*/==${NEXT_UCX_PY_VERSION}.*/g" "${FILE}" + sed_runner "/-.* ${DEP}\(-cu[[:digit:]]\{2\}\)\{0,1\}==/ s/==.*/==${NEXT_SHORT_TAG_PEP440}.*,>=0.0.0a0/g" "${FILE}" done done diff --git a/ci/utils/git_helpers.py b/ci/utils/git_helpers.py deleted file mode 100644 index a0c413b..0000000 --- a/ci/utils/git_helpers.py +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright (c) 2019-2021, 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 -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -import subprocess -import os -import re - - -def isFileEmpty(f): - return os.stat(f).st_size == 0 - - -def __git(*opts): - """Runs a git command and returns its output""" - cmd = "git " + " ".join(list(opts)) - ret = subprocess.check_output(cmd, shell=True) - return ret.decode("UTF-8") - - -def __gitdiff(*opts): - """Runs a git diff command with no pager set""" - return __git("--no-pager", "diff", *opts) - - -def branch(): - """Returns the name of the current branch""" - name = __git("rev-parse", "--abbrev-ref", "HEAD") - name = name.rstrip() - return name - - -def uncommittedFiles(): - """ - Returns a list of all changed files that are not yet committed. This - means both untracked/unstaged as well as uncommitted files too. - """ - files = __git("status", "-u", "-s") - ret = [] - for f in files.splitlines(): - f = f.strip(" ") - f = re.sub("\s+", " ", f) # noqa: W605 - tmp = f.split(" ", 1) - # only consider staged files or uncommitted files - # in other words, ignore untracked files - if tmp[0] == "M" or tmp[0] == "A": - ret.append(tmp[1]) - return ret - - -def changedFilesBetween(baseName, branchName, commitHash): - """ - Returns a list of files changed between branches baseName and latest commit - of branchName. - """ - current = branch() - # checkout "base" branch - __git("checkout", "--force", baseName) - # checkout branch for comparing - __git("checkout", "--force", branchName) - # checkout latest commit from branch - __git("checkout", "-fq", commitHash) - - files = __gitdiff("--name-only", "--ignore-submodules", - f"{baseName}..{branchName}") - - # restore the original branch - __git("checkout", "--force", current) - return files.splitlines() - - -def changesInFileBetween(file, b1, b2, pathFilter=None): - """Filters the changed lines to a file between the branches b1 and b2""" - current = branch() - __git("checkout", "--quiet", b1) - __git("checkout", "--quiet", b2) - diffs = __gitdiff("--ignore-submodules", "-w", "--minimal", "-U0", - "%s...%s" % (b1, b2), "--", file) - __git("checkout", "--quiet", current) - lines = [] - for line in diffs.splitlines(): - if pathFilter is None or pathFilter(line): - lines.append(line) - return lines - - -def modifiedFiles(pathFilter=None): - """ - If inside a CI-env (ie. TARGET_BRANCH and COMMIT_HASH are defined, and - current branch is "current-pr-branch"), then lists out all files modified - between these 2 branches. Else, lists out all the uncommitted files in the - current branch. - - Such utility function is helpful while putting checker scripts as part of - cmake, as well as CI process. This way, during development, only the files - touched (but not yet committed) by devs can be checked. But, during the CI - process ALL files modified by the dev, as submiited in the PR, will be - checked. This happens, all the while using the same script. - """ - targetBranch = os.environ.get("TARGET_BRANCH") - commitHash = os.environ.get("COMMIT_HASH") - currentBranch = branch() - print(f" [DEBUG] TARGET_BRANCH={targetBranch}, COMMIT_HASH={commitHash}, " - f"currentBranch={currentBranch}") - - if targetBranch and commitHash and (currentBranch == "current-pr-branch"): - print(" [DEBUG] Assuming a CI environment.") - allFiles = changedFilesBetween(targetBranch, currentBranch, commitHash) - else: - print(" [DEBUG] Did not detect CI environment.") - allFiles = uncommittedFiles() - - files = [] - for f in allFiles: - if pathFilter is None or pathFilter(f): - files.append(f) - - filesToCheckString = "\n\t".join(files) if files else "" - print(f" [DEBUG] Found files to check:\n\t{filesToCheckString}\n") - return files - - -def listAllFilesInDir(folder): - """Utility function to list all files/subdirs in the input folder""" - allFiles = [] - for root, dirs, files in os.walk(folder): - for name in files: - allFiles.append(os.path.join(root, name)) - return allFiles - - -def listFilesToCheck(filesDirs, pathFilter=None): - """ - Utility function to filter the input list of files/dirs based on the input - pathFilter method and returns all the files that need to be checked - """ - allFiles = [] - for f in filesDirs: - if os.path.isfile(f): - if pathFilter is None or pathFilter(f): - allFiles.append(f) - elif os.path.isdir(f): - files = listAllFilesInDir(f) - for f_ in files: - if pathFilter is None or pathFilter(f_): - allFiles.append(f_) - return allFiles diff --git a/ci/utils/nbtest.sh b/ci/utils/nbtest.sh deleted file mode 100755 index ae8b52d..0000000 --- a/ci/utils/nbtest.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash -# Copyright (c) 2019-2021, 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 -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Any failing command will set EXITCODE to non-zero -set +e # do not abort the script on error -set -o pipefail # piped commands propagate their error -set -E # ERR traps are inherited by subcommands -trap "EXITCODE=1" ERR - -# Prepend the following code to all scripts generated from nbconvert. This -# allows all cell and line magic code to run and update the namespace as if -# running in jupyter, but will also tolerate failures due to running in a -# non-jupyter env. -# Note: depending on the assumptions of the notebook script, ignoring failures -# may not be acceptable (meaning the converted notebook simply cannot run -# outside of jupyter as-is), hence the warning. -MAGIC_OVERRIDE_CODE=" -def my_run_line_magic(*args, **kwargs): - g=globals() - l={} - for a in args: - try: - exec(str(a),g,l) - except Exception as e: - print('WARNING: %s\n While executing this magic function code:\n%s\n continuing...\n' % (e, a)) - else: - g.update(l) - -def my_run_cell_magic(*args, **kwargs): - my_run_line_magic(*args, **kwargs) - -get_ipython().run_line_magic=my_run_line_magic -get_ipython().run_cell_magic=my_run_cell_magic - -" - -NO_COLORS=--colors=NoColor -EXITCODE=0 -NBTMPDIR=${WORKSPACE}/tmp -mkdir -p ${NBTMPDIR} - -for nb in $*; do - NBFILENAME=$1 - NBNAME=${NBFILENAME%.*} - NBNAME=${NBNAME##*/} - NBTESTSCRIPT=${NBTMPDIR}/${NBNAME}-test.py - shift - - echo -------------------------------------------------------------------------------- - echo STARTING: ${NBNAME} - echo -------------------------------------------------------------------------------- - jupyter nbconvert --to script ${NBFILENAME} --output ${NBTMPDIR}/${NBNAME}-test - echo "${MAGIC_OVERRIDE_CODE}" > ${NBTMPDIR}/tmpfile - cat ${NBTESTSCRIPT} >> ${NBTMPDIR}/tmpfile - mv ${NBTMPDIR}/tmpfile ${NBTESTSCRIPT} - - echo "Running \"ipython ${NO_COLORS} ${NBTESTSCRIPT}\" on $(date)" - echo - time bash -c "ipython ${NO_COLORS} ${NBTESTSCRIPT}; EC=\$?; echo -------------------------------------------------------------------------------- ; echo DONE: ${NBNAME}; exit \$EC" - NBEXITCODE=$? - echo EXIT CODE: ${NBEXITCODE} - echo -done - -exit ${EXITCODE} diff --git a/ci/utils/nbtestlog2junitxml.py b/ci/utils/nbtestlog2junitxml.py deleted file mode 100644 index e971225..0000000 --- a/ci/utils/nbtestlog2junitxml.py +++ /dev/null @@ -1,175 +0,0 @@ -# Copyright (c) 2019-2020, 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 -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Generate a junit-xml file from parsing a nbtest log - -import re -from xml.etree.ElementTree import Element, ElementTree -from os import path -import string -from enum import Enum - - -startingPatt = re.compile("^STARTING: ([\w\.\-]+)$") -skippingPatt = re.compile("^SKIPPING: ([\w\.\-]+)\s*(\(([\w\.\-\ \,]+)\))?\s*$") -exitCodePatt = re.compile("^EXIT CODE: (\d+)$") -folderPatt = re.compile("^FOLDER: ([\w\.\-]+)$") -timePatt = re.compile("^real\s+([\d\.ms]+)$") -linePatt = re.compile("^" + ("-" * 80) + "$") - - -def getFileBaseName(filePathName): - return path.splitext(path.basename(filePathName))[0] - - -def makeTestCaseElement(attrDict): - return Element("testcase", attrib=attrDict) - - -def makeSystemOutElement(outputLines): - e = Element("system-out") - e.text = "".join(filter(lambda c: c in string.printable, outputLines)) - return e - - -def makeFailureElement(outputLines): - e = Element("failure", message="failed") - e.text = "".join(filter(lambda c: c in string.printable, outputLines)) - return e - - -def setFileNameAttr(attrDict, fileName): - attrDict.update(file=fileName, - classname="", - line="", - name="", - time="" - ) - -def setClassNameAttr(attrDict, className): - attrDict["classname"] = className - - -def setTestNameAttr(attrDict, testName): - attrDict["name"] = testName - - -def setTimeAttr(attrDict, timeVal): - (mins, seconds) = timeVal.split("m") - seconds = float(seconds.strip("s")) + (60 * int(mins)) - attrDict["time"] = str(seconds) - - -def incrNumAttr(element, attr): - newVal = int(element.attrib.get(attr)) + 1 - element.attrib[attr] = str(newVal) - - -def parseLog(logFile, testSuiteElement): - # Example attrs: - # errors="0" failures="0" hostname="a437d6835edf" name="pytest" skipped="2" tests="6" time="6.174" timestamp="2019-11-18T19:49:47.946307" - - with open(logFile) as lf: - testSuiteElement.attrib["tests"] = "0" - testSuiteElement.attrib["errors"] = "0" - testSuiteElement.attrib["failures"] = "0" - testSuiteElement.attrib["skipped"] = "0" - testSuiteElement.attrib["time"] = "0" - testSuiteElement.attrib["timestamp"] = "" - - attrDict = {} - #setFileNameAttr(attrDict, logFile) - setFileNameAttr(attrDict, "nbtest") - - parserStateEnum = Enum("parserStateEnum", - "newTest startingLine finishLine exitCode") - parserState = parserStateEnum.newTest - - testOutput = "" - - for line in lf.readlines(): - if parserState == parserStateEnum.newTest: - m = folderPatt.match(line) - if m: - setClassNameAttr(attrDict, m.group(1)) - continue - - m = skippingPatt.match(line) - if m: - setTestNameAttr(attrDict, getFileBaseName(m.group(1))) - setTimeAttr(attrDict, "0m0s") - skippedElement = makeTestCaseElement(attrDict) - message = m.group(3) or "" - skippedElement.append(Element("skipped", message=message, type="")) - testSuiteElement.append(skippedElement) - incrNumAttr(testSuiteElement, "skipped") - incrNumAttr(testSuiteElement, "tests") - continue - - m = startingPatt.match(line) - if m: - parserState = parserStateEnum.startingLine - testOutput = "" - setTestNameAttr(attrDict, m.group(1)) - setTimeAttr(attrDict, "0m0s") - continue - - continue - - elif parserState == parserStateEnum.startingLine: - if linePatt.match(line): - parserState = parserStateEnum.finishLine - testOutput = "" - continue - - elif parserState == parserStateEnum.finishLine: - if linePatt.match(line): - parserState = parserStateEnum.exitCode - else: - testOutput += line - continue - - elif parserState == parserStateEnum.exitCode: - m = exitCodePatt.match(line) - if m: - testCaseElement = makeTestCaseElement(attrDict) - if m.group(1) != "0": - failureElement = makeFailureElement(testOutput) - testCaseElement.append(failureElement) - incrNumAttr(testSuiteElement, "failures") - else: - systemOutElement = makeSystemOutElement(testOutput) - testCaseElement.append(systemOutElement) - - testSuiteElement.append(testCaseElement) - parserState = parserStateEnum.newTest - testOutput = "" - incrNumAttr(testSuiteElement, "tests") - continue - - m = timePatt.match(line) - if m: - setTimeAttr(attrDict, m.group(1)) - continue - - continue - - -if __name__ == "__main__": - import sys - - testSuitesElement = Element("testsuites") - testSuiteElement = Element("testsuite", name="nbtest", hostname="") - parseLog(sys.argv[1], testSuiteElement) - testSuitesElement.append(testSuiteElement) - ElementTree(testSuitesElement).write(sys.argv[1]+".xml", xml_declaration=True) diff --git a/codecov.yml b/codecov.yml deleted file mode 100644 index c0a3a2f..0000000 --- a/codecov.yml +++ /dev/null @@ -1,5 +0,0 @@ -#Configuration File for CodeCov -coverage: - status: - project: off - patch: off diff --git a/conda/environments/all_cuda-125_arch-x86_64.yaml b/conda/environments/all_cuda-125_arch-x86_64.yaml index ddf7721..5452411 100644 --- a/conda/environments/all_cuda-125_arch-x86_64.yaml +++ b/conda/environments/all_cuda-125_arch-x86_64.yaml @@ -8,24 +8,27 @@ channels: - conda-forge - nvidia dependencies: -- breathe +- breathe>=4.35 - cuda-version=12.5 -- cugraph-dgl==25.2.* -- cugraph-pyg==25.2.* -- cugraph==25.2.* +- cugraph-dgl==25.2.*,>=0.0.0a0 +- cugraph-pyg==25.2.*,>=0.0.0a0 +- cugraph==25.2.*,>=0.0.0a0 - dglteam/label/th23_cu121::dgl - doxygen - graphviz - ipython +- libcugraph==25.2.*,>=0.0.0a0 +- libcugraph_etl==25.2.*,>=0.0.0a0 - nbsphinx - numpydoc - pre-commit - pydata-sphinx-theme -- pylibcugraphops==25.2.* -- pylibwholegraph==25.2.* +- pylibcugraph==25.2.*,>=0.0.0a0 +- pylibcugraphops==25.2.*,>=0.0.0a0 +- pylibwholegraph==25.2.*,>=0.0.0a0 - recommonmark - sphinx-copybutton - sphinx-markdown-tables -- sphinx<6 +- sphinx>=8 - sphinxcontrib-websupport name: all_cuda-125_arch-x86_64 diff --git a/dependencies.yaml b/dependencies.yaml index 395c2cf..5f480e8 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -10,12 +10,7 @@ files: - checks - cuda_version - docs - - depends_on_cugraph - - depends_on_dgl - - depends_on_cugraph_dgl - - depends_on_cugraph_pyg - - depends_on_pylibcugraphops - - depends_on_pylibwholegraph + - run checks: output: none includes: @@ -25,12 +20,7 @@ files: includes: - cuda_version - docs - - depends_on_cugraph - - depends_on_dgl - - depends_on_cugraph_dgl - - depends_on_cugraph_pyg - - depends_on_pylibcugraphops - - depends_on_pylibwholegraph + - run channels: - pyg @@ -42,29 +32,13 @@ channels: dependencies: checks: common: - - output_types: [conda, requirements] + - output_types: [conda] packages: - pre-commit cuda_version: specific: - - output_types: conda + - output_types: [conda] matrices: - - matrix: - cuda: "11.2" - packages: - - cuda-version=11.2 - - matrix: - cuda: "11.4" - packages: - - cuda-version=11.4 - - matrix: - cuda: "11.5" - packages: - - cuda-version=11.5 - - matrix: - cuda: "11.8" - packages: - - cuda-version=11.8 - matrix: cuda: "12.0" packages: @@ -82,7 +56,7 @@ dependencies: common: - output_types: [conda] packages: - - breathe + - breathe>=4.35 - doxygen - graphviz - ipython @@ -92,143 +66,21 @@ dependencies: - recommonmark - sphinx-copybutton - sphinx-markdown-tables - - sphinx<6 + - sphinx>=8 - sphinxcontrib-websupport - depends_on_pylibwholegraph: - common: - - output_types: conda - packages: - - &pylibwholegraph_conda pylibwholegraph==25.2.* - - output_types: requirements - packages: - # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple - specific: - - output_types: [requirements] - matrices: - - matrix: {cuda: "12.*"} - packages: - - pylibwholegraph-cu12==25.2.* - - matrix: {cuda: "11.*"} - packages: - - pylibwholegraph-cu11==25.2.* - - {matrix: null, packages: [*pylibwholegraph_conda]} - - depends_on_cugraph: - common: - - output_types: conda - packages: - - &cugraph_conda cugraph==25.2.* - - output_types: requirements - packages: - # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple - specific: - - output_types: [requirements] - matrices: - - matrix: {cuda: "12.*"} - packages: - - cugraph-cu12==25.2.* - - matrix: {cuda: "11.*"} - packages: - - cugraph-cu11==25.2.* - - {matrix: null, packages: [*cugraph_conda]} - - depends_on_cugraph_dgl: - common: - - output_types: conda - packages: - - &cugraph_dgl_conda cugraph-dgl==25.2.* - - output_types: requirements - packages: - # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple - specific: - - output_types: [requirements] - matrices: - - matrix: {cuda: "12.*"} - packages: - - cugraph-dgl-cu12==25.2.* - - matrix: {cuda: "11.*"} - packages: - - cugraph-dgl-cu11==25.2.* - - {matrix: null, packages: [*cugraph_dgl_conda]} - - depends_on_cugraph_pyg: + # this repo only uses conda and 1 major version of CUDA, so + # all dependencies are intentionally grouped together + run: common: - - output_types: conda - packages: - - &cugraph_pyg_unsuffixed cugraph-pyg==25.2.* - - output_types: requirements - packages: - # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple - specific: - - output_types: [requirements] - matrices: - - matrix: {cuda: "12.*"} - packages: - - cugraph-pyg-cu12==25.2.* - - matrix: {cuda: "11.*"} - packages: - - cugraph-pyg-cu11==25.2.* - - {matrix: null, packages: [*cugraph_pyg_unsuffixed]} - - depends_on_dgl: - specific: - output_types: [conda] - matrices: - - matrix: {cuda: "12.*"} - packages: - - 'dglteam/label/th23_cu121::dgl' - - matrix: {cuda: "11.*"} - packages: - - 'dglteam/label/th23_cu118::dgl' - - {matrix: null, packages: ['dglteam/label/th23_cu121::dgl']} - - depends_on_pylibcugraph: - common: - - output_types: conda packages: - - &pylibcugraph_conda pylibcugraph==25.2.* - - output_types: requirements - packages: - # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple - specific: - - output_types: [requirements] - matrices: - - matrix: {cuda: "12.*"} - packages: - - pylibcugraph-cu12==25.2.* - - matrix: {cuda: "11.*"} - packages: - - pylibcugraph-cu11==25.2.* - - {matrix: null, packages: [*pylibcugraph_conda]} - - depends_on_pylibcugraphops: - common: - - output_types: conda - packages: - - &pylibcugraphops_conda pylibcugraphops==25.2.* - - output_types: requirements - packages: - # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple - specific: - - output_types: [requirements] - matrices: - - matrix: {cuda: "12.*"} - packages: - - pylibcugraphops-cu12==25.2.* - - matrix: {cuda: "11.*"} - packages: - - pylibcugraphops-cu11==25.2.* - - {matrix: null, packages: [*pylibcugraphops_conda]} + - cugraph==25.2.*,>=0.0.0a0 + - cugraph-dgl==25.2.*,>=0.0.0a0 + - cugraph-pyg==25.2.*,>=0.0.0a0 + - 'dglteam/label/th23_cu121::dgl' + - libcugraph==25.2.*,>=0.0.0a0 + - libcugraph_etl==25.2.*,>=0.0.0a0 + - pylibcugraph==25.2.*,>=0.0.0a0 + - pylibcugraphops==25.2.*,>=0.0.0a0 + - pylibwholegraph==25.2.*,>=0.0.0a0 diff --git a/docs/cugraph-docs/source/conf.py b/docs/cugraph-docs/source/conf.py index cfcc07e..84bbb5c 100644 --- a/docs/cugraph-docs/source/conf.py +++ b/docs/cugraph-docs/source/conf.py @@ -1,4 +1,4 @@ -# Copyright (c) 2018-2024, NVIDIA CORPORATION. +# Copyright (c) 2018-2025, NVIDIA CORPORATION. # # pygdf documentation build configuration file, created by # sphinx-quickstart on Wed May 3 10:59:22 2017. @@ -193,8 +193,9 @@ ] # Example configuration for intersphinx: refer to the Python standard library. -intersphinx_mapping = {'https://docs.python.org/': None} - +intersphinx_mapping = { + "python": ("https://docs.python.org/", None), +} # Config numpydoc numpydoc_show_inherited_class_members = False From e84de882d34720e3c673aeb343b73321ab173faf Mon Sep 17 00:00:00 2001 From: Ralph Liu <137829296+nv-rliu@users.noreply.github.com> Date: Thu, 9 Jan 2025 22:06:01 +0900 Subject: [PATCH 2/3] Update Bug In Algo Table (#74) Small fix to the Bipartite algorithms table. Authors: - Ralph Liu (https://github.com/nv-rliu) Approvers: - Don Acosta (https://github.com/acostadon) URL: https://github.com/rapidsai/cugraph-docs/pull/74 --- .../nx_cugraph/supported-algorithms.rst | 34 +++++++++---------- 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/docs/cugraph-docs/source/nx_cugraph/supported-algorithms.rst b/docs/cugraph-docs/source/nx_cugraph/supported-algorithms.rst index 8dc3c5b..1193e2d 100644 --- a/docs/cugraph-docs/source/nx_cugraph/supported-algorithms.rst +++ b/docs/cugraph-docs/source/nx_cugraph/supported-algorithms.rst @@ -13,23 +13,31 @@ Below is the list of algorithms that are currently supported in nx-cugraph. Algorithms ---------- ++--------------------------+ +| **Bipartite** | ++==========================+ +| betweenness_centrality | ++--------------------------+ +| complete_bipartite_graph | ++--------------------------+ + +-----------------------------+ | **Centrality** | +=============================+ | betweenness_centrality | +-----------------------------+ -| edge_betweenness_centrality | -+-----------------------------+ | degree_centrality | +-----------------------------+ -| in_degree_centrality | -+-----------------------------+ -| out_degree_centrality | +| edge_betweenness_centrality | +-----------------------------+ | eigenvector_centrality | +-----------------------------+ +| in_degree_centrality | ++-----------------------------+ | katz_centrality | +-----------------------------+ +| out_degree_centrality | ++-----------------------------+ +---------------------+ | **Cluster** | @@ -49,13 +57,6 @@ Algorithms | louvain_communities | +--------------------------+ -+--------------------------+ -| **Bipartite** | -+==========================+ -| betweenness_centrality | -| complete_bipartite_graph | -+--------------------------+ - +------------------------------------+ | **Components** | +====================================+ @@ -63,14 +64,12 @@ Algorithms +------------------------------------+ | is_connected | +------------------------------------+ +| is_weakly_connected | ++------------------------------------+ | node_connected_component | +------------------------------------+ | number_connected_components | +------------------------------------+ -| weakly_connected | -+------------------------------------+ -| is_weakly_connected | -+------------------------------------+ | number_weakly_connected_components | +------------------------------------+ | weakly_connected_components | @@ -352,5 +351,4 @@ Generators +-------------------------------+ -To request nx-cugraph backend support for a NetworkX API that is not listed -above, visit the `nx-cugraph GitHub repo `_. +To request nx-cugraph backend support for a NetworkX API that is not listed above, visit the `nx-cugraph GitHub repo `_. From 076dfe22cece8e54539de98b0ff668c528c0c1b8 Mon Sep 17 00:00:00 2001 From: James Lamb Date: Thu, 9 Jan 2025 13:58:28 -0600 Subject: [PATCH 3/3] remove references to cugraph-ops (#72) Fixes #55 RAPIDS will stop shipping `cugraph-ops` in 25.02 (ref: https://github.com/rapidsai/cugraph-gnn/pull/99) This proposes removing all references to it in docs here. ## Notes for Reviewers In addition to auto-assigned CODEOWNERS, let's please not merge this until @alexbarghi-nv approves. ### How I found these references ```shell git grep -i cugraphops git grep -i -E 'cugraph.*ops' git grep -i ops ``` Authors: - James Lamb (https://github.com/jameslamb) Approvers: - Don Acosta (https://github.com/acostadon) - Bradley Dice (https://github.com/bdice) - Alex Barghi (https://github.com/alexbarghi-nv) URL: https://github.com/rapidsai/cugraph-docs/pull/72 --- build.sh | 4 +- ci/build_docs.sh | 2 +- ci/release/update-version.sh | 2 - .../all_cuda-125_arch-x86_64.yaml | 1 - dependencies.yaml | 1 - .../api_docs/cugraph-ops/c_cpp/index.old | 2 - .../api_docs/cugraph-ops/c_cpp/index.rst | 2 - .../source/api_docs/cugraph-ops/index.old | 11 --- .../source/api_docs/cugraph-ops/index.rst | 11 --- .../api_docs/cugraph-ops/python/dimenet.old | 24 ----- .../api_docs/cugraph-ops/python/dimenet.rst | 24 ----- .../cugraph-ops/python/graph_types.old | 34 ------- .../cugraph-ops/python/graph_types.rst | 34 ------- .../api_docs/cugraph-ops/python/index.old | 13 --- .../api_docs/cugraph-ops/python/index.rst | 13 --- .../api_docs/cugraph-ops/python/operators.old | 93 ------------------- .../api_docs/cugraph-ops/python/operators.rst | 93 ------------------- .../api_docs/cugraph-ops/python/pytorch.old | 36 ------- .../api_docs/cugraph-ops/python/pytorch.rst | 36 ------- docs/cugraph-docs/source/conf.py | 1 - .../graph_support/cugraphops_support.rst | 10 -- .../source/graph_support/gnn_support.rst | 1 - .../source/references/licenses.md | 1 - .../wholegraph/basics/wholegraph_intro.md | 2 +- 24 files changed, 4 insertions(+), 447 deletions(-) delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/c_cpp/index.old delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/c_cpp/index.rst delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/index.old delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/index.rst delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/dimenet.old delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/dimenet.rst delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/graph_types.old delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/graph_types.rst delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/index.old delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/index.rst delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/operators.old delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/operators.rst delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/pytorch.old delete mode 100644 docs/cugraph-docs/source/api_docs/cugraph-ops/python/pytorch.rst delete mode 100644 docs/cugraph-docs/source/graph_support/cugraphops_support.rst diff --git a/build.sh b/build.sh index cc9bf60..09c2ccb 100755 --- a/build.sh +++ b/build.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2019-2024, NVIDIA CORPORATION. +# Copyright (c) 2019-2025, NVIDIA CORPORATION. # cugraph build script @@ -94,7 +94,7 @@ fi # Build the docs # C/C++?CUDA libraries if hasArg docs || buildDefault; then - PROJ_LIST=("libcugraph libcugraphops libwholegraph") + PROJ_LIST=("libcugraph libwholegraph") for PROJECT in ${PROJ_LIST}; do echo "PROJECT IS ${PROJECT}" XML_DIR="${REPODIR}/docs/cugraph-docs/${PROJECT}" diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 9015c1b..944fec5 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -20,7 +20,7 @@ export RAPIDS_DOCS_DIR="$(mktemp -d)" rapids-print-env -PROJ_LIST=("libcugraph libcugraphops libwholegraph") +PROJ_LIST=("libcugraph libwholegraph") for PROJECT in ${PROJ_LIST}; do rapids-logger "Download ${PROJECT} xml_tar" diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 91bd9c2..1c618d1 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -52,10 +52,8 @@ DEPENDENCIES=( cugraph-pyg libcugraph libcugraph_etl - libcugraphops nx-cugraph pylibcugraph - pylibcugraphops pylibwholegraph ) for DEP in "${DEPENDENCIES[@]}"; do diff --git a/conda/environments/all_cuda-125_arch-x86_64.yaml b/conda/environments/all_cuda-125_arch-x86_64.yaml index 5452411..bf7fb60 100644 --- a/conda/environments/all_cuda-125_arch-x86_64.yaml +++ b/conda/environments/all_cuda-125_arch-x86_64.yaml @@ -24,7 +24,6 @@ dependencies: - pre-commit - pydata-sphinx-theme - pylibcugraph==25.2.*,>=0.0.0a0 -- pylibcugraphops==25.2.*,>=0.0.0a0 - pylibwholegraph==25.2.*,>=0.0.0a0 - recommonmark - sphinx-copybutton diff --git a/dependencies.yaml b/dependencies.yaml index 5f480e8..34d78f2 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -82,5 +82,4 @@ dependencies: - libcugraph==25.2.*,>=0.0.0a0 - libcugraph_etl==25.2.*,>=0.0.0a0 - pylibcugraph==25.2.*,>=0.0.0a0 - - pylibcugraphops==25.2.*,>=0.0.0a0 - pylibwholegraph==25.2.*,>=0.0.0a0 diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/c_cpp/index.old b/docs/cugraph-docs/source/api_docs/cugraph-ops/c_cpp/index.old deleted file mode 100644 index 39dae95..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/c_cpp/index.old +++ /dev/null @@ -1,2 +0,0 @@ -cugraph-ops C++ API Reference -============================= diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/c_cpp/index.rst b/docs/cugraph-docs/source/api_docs/cugraph-ops/c_cpp/index.rst deleted file mode 100644 index 39dae95..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/c_cpp/index.rst +++ /dev/null @@ -1,2 +0,0 @@ -cugraph-ops C++ API Reference -============================= diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/index.old b/docs/cugraph-docs/source/api_docs/cugraph-ops/index.old deleted file mode 100644 index 0f6a6c9..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/index.old +++ /dev/null @@ -1,11 +0,0 @@ -cugraph-ops API reference -========================= - -This page provides a list of all publicly accessible modules, methods and classes through `pylibcugraphops.*` namespace. - -.. toctree:: - :maxdepth: 2 - :caption: API Documentation - - python/index - c_cpp/index diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/index.rst b/docs/cugraph-docs/source/api_docs/cugraph-ops/index.rst deleted file mode 100644 index 0f6a6c9..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/index.rst +++ /dev/null @@ -1,11 +0,0 @@ -cugraph-ops API reference -========================= - -This page provides a list of all publicly accessible modules, methods and classes through `pylibcugraphops.*` namespace. - -.. toctree:: - :maxdepth: 2 - :caption: API Documentation - - python/index - c_cpp/index diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/dimenet.old b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/dimenet.old deleted file mode 100644 index 6fadcc5..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/dimenet.old +++ /dev/null @@ -1,24 +0,0 @@ -================= -Dimenet operators -================= - -.. currentmodule:: pylibcugraphops - -Radial Basis Functions ----------------------- -.. autosummary:: - :toctree: ../../api/ops - - dimenet.radial_basis_fwd - dimenet.radial_basis_bwd - dimenet.radial_basis_bwd_bwd - -Edge-to-Edge Aggregation -------------------------- -.. autosummary:: - :toctree: ../../api/ops - - dimenet.agg_edge_to_edge_fwd - dimenet.agg_edge_to_edge_bwd - dimenet.agg_edge_to_edge_bwd2_grad - dimenet.agg_edge_to_edge_bwd2_main diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/dimenet.rst b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/dimenet.rst deleted file mode 100644 index 6fadcc5..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/dimenet.rst +++ /dev/null @@ -1,24 +0,0 @@ -================= -Dimenet operators -================= - -.. currentmodule:: pylibcugraphops - -Radial Basis Functions ----------------------- -.. autosummary:: - :toctree: ../../api/ops - - dimenet.radial_basis_fwd - dimenet.radial_basis_bwd - dimenet.radial_basis_bwd_bwd - -Edge-to-Edge Aggregation -------------------------- -.. autosummary:: - :toctree: ../../api/ops - - dimenet.agg_edge_to_edge_fwd - dimenet.agg_edge_to_edge_bwd - dimenet.agg_edge_to_edge_bwd2_grad - dimenet.agg_edge_to_edge_bwd2_main diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/graph_types.old b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/graph_types.old deleted file mode 100644 index 141d403..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/graph_types.old +++ /dev/null @@ -1,34 +0,0 @@ -=========== -Graph types -=========== - -.. currentmodule:: pylibcugraphops - - -CSC Graph ------------------ -.. autosummary:: - :toctree: ../../api/ops - - make_csc - -Heterogenous CSC Graph ----------------------- -.. autosummary:: - :toctree: ../../api/ops - - make_csc_hg - -Bipartite Graph ------------------ -.. autosummary:: - :toctree: ../../api/ops - - make_bipartite_csc - -Heterogenous Bipartite Graph ----------------------------- -.. autosummary:: - :toctree: ../../api/ops - - make_bipartite_csc_hg diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/graph_types.rst b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/graph_types.rst deleted file mode 100644 index 141d403..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/graph_types.rst +++ /dev/null @@ -1,34 +0,0 @@ -=========== -Graph types -=========== - -.. currentmodule:: pylibcugraphops - - -CSC Graph ------------------ -.. autosummary:: - :toctree: ../../api/ops - - make_csc - -Heterogenous CSC Graph ----------------------- -.. autosummary:: - :toctree: ../../api/ops - - make_csc_hg - -Bipartite Graph ------------------ -.. autosummary:: - :toctree: ../../api/ops - - make_bipartite_csc - -Heterogenous Bipartite Graph ----------------------------- -.. autosummary:: - :toctree: ../../api/ops - - make_bipartite_csc_hg diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/index.old b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/index.old deleted file mode 100644 index fb25f2f..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/index.old +++ /dev/null @@ -1,13 +0,0 @@ -cugraph-ops Python API reference -================================ - -This page provides a list of all publicly accessible modules, methods and classes through `pylibcugraphops.*` namespace. - -.. toctree:: - :maxdepth: 2 - :caption: API Documentation - - graph_types - operators - dimenet - pytorch diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/index.rst b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/index.rst deleted file mode 100644 index fb25f2f..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -cugraph-ops Python API reference -================================ - -This page provides a list of all publicly accessible modules, methods and classes through `pylibcugraphops.*` namespace. - -.. toctree:: - :maxdepth: 2 - :caption: API Documentation - - graph_types - operators - dimenet - pytorch diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/operators.old b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/operators.old deleted file mode 100644 index 3e6664b..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/operators.old +++ /dev/null @@ -1,93 +0,0 @@ -============================= -Operators for Message-Passing -============================= - -.. currentmodule:: pylibcugraphops - -Simple Neighborhood Aggregator (SAGEConv) ------------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_simple_n2n_fwd - operators.agg_simple_n2n_bwd - operators.agg_simple_e2n_fwd - operators.agg_simple_e2n_bwd - operators.agg_simple_n2n_e2n_fwd - operators.agg_simple_n2n_e2n_bwd - - operators.agg_concat_n2n_fwd - operators.agg_concat_n2n_bwd - operators.agg_concat_e2n_fwd - operators.agg_concat_e2n_bwd - operators.agg_concat_n2n_e2n_fwd - operators.agg_concat_n2n_e2n_bwd - - -Weighted Neighborhood Aggregation ---------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_weighted_n2n_fwd - operators.agg_weighted_n2n_bwd - operators.agg_concat_weighted_n2n_fwd - operators.agg_concat_weighted_n2n_bwd - -Heterogenous Aggregator using Basis Decomposition (RGCNConv) ------------------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_hg_basis_n2n_post_fwd - operators.agg_hg_basis_n2n_post_bwd - -Graph Attention (GATConv/GATv2Conv) ------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.mha_gat_n2n_fwd - operators.mha_gat_n2n_bwd - operators.mha_gat_n2n_efeat_fwd - operators.mha_gat_n2n_efeat_bwd - - operators.mha_gat_v2_n2n_fwd - operators.mha_gat_v2_n2n_bwd - operators.mha_gat_v2_n2n_efeat_fwd - operators.mha_gat_v2_n2n_efeat_bwd - -Transformer-like Graph Attention (TransformerConv) --------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.mha_gat_v2_n2n_fwd - operators.mha_gat_v2_n2n_bwd - operators.mha_gat_v2_n2n_efeat_fwd - operators.mha_gat_v2_n2n_efeat_bwd - -Directional Message-Passing (DMPNN) ------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_dmpnn_e2e_fwd - operators.agg_dmpnn_e2e_bwd - -Update Edges: Concatenation or Sum of Edge and Node Features ------------------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.update_efeat_e2e_concat_fwd - operators.update_efeat_e2e_concat_bwd - - operators.update_efeat_e2e_sum_fwd - operators.update_efeat_e2e_sum_bwd - - operators.update_efeat_e2e_concat_fwd - operators.update_efeat_e2e_concat_bwd - - operators.update_efeat_e2e_sum_fwd - operators.update_efeat_e2e_sum_bwd diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/operators.rst b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/operators.rst deleted file mode 100644 index 3e6664b..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/operators.rst +++ /dev/null @@ -1,93 +0,0 @@ -============================= -Operators for Message-Passing -============================= - -.. currentmodule:: pylibcugraphops - -Simple Neighborhood Aggregator (SAGEConv) ------------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_simple_n2n_fwd - operators.agg_simple_n2n_bwd - operators.agg_simple_e2n_fwd - operators.agg_simple_e2n_bwd - operators.agg_simple_n2n_e2n_fwd - operators.agg_simple_n2n_e2n_bwd - - operators.agg_concat_n2n_fwd - operators.agg_concat_n2n_bwd - operators.agg_concat_e2n_fwd - operators.agg_concat_e2n_bwd - operators.agg_concat_n2n_e2n_fwd - operators.agg_concat_n2n_e2n_bwd - - -Weighted Neighborhood Aggregation ---------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_weighted_n2n_fwd - operators.agg_weighted_n2n_bwd - operators.agg_concat_weighted_n2n_fwd - operators.agg_concat_weighted_n2n_bwd - -Heterogenous Aggregator using Basis Decomposition (RGCNConv) ------------------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_hg_basis_n2n_post_fwd - operators.agg_hg_basis_n2n_post_bwd - -Graph Attention (GATConv/GATv2Conv) ------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.mha_gat_n2n_fwd - operators.mha_gat_n2n_bwd - operators.mha_gat_n2n_efeat_fwd - operators.mha_gat_n2n_efeat_bwd - - operators.mha_gat_v2_n2n_fwd - operators.mha_gat_v2_n2n_bwd - operators.mha_gat_v2_n2n_efeat_fwd - operators.mha_gat_v2_n2n_efeat_bwd - -Transformer-like Graph Attention (TransformerConv) --------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.mha_gat_v2_n2n_fwd - operators.mha_gat_v2_n2n_bwd - operators.mha_gat_v2_n2n_efeat_fwd - operators.mha_gat_v2_n2n_efeat_bwd - -Directional Message-Passing (DMPNN) ------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_dmpnn_e2e_fwd - operators.agg_dmpnn_e2e_bwd - -Update Edges: Concatenation or Sum of Edge and Node Features ------------------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.update_efeat_e2e_concat_fwd - operators.update_efeat_e2e_concat_bwd - - operators.update_efeat_e2e_sum_fwd - operators.update_efeat_e2e_sum_bwd - - operators.update_efeat_e2e_concat_fwd - operators.update_efeat_e2e_concat_bwd - - operators.update_efeat_e2e_sum_fwd - operators.update_efeat_e2e_sum_bwd diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/pytorch.old b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/pytorch.old deleted file mode 100644 index d2074df..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/pytorch.old +++ /dev/null @@ -1,36 +0,0 @@ -========================== -PyTorch Autograd Wrappers -========================== - -.. currentmodule:: pylibcugraphops.pytorch - -Simple Neighborhood Aggregator (SAGEConv) ------------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_concat_n2n - -Graph Attention (GATConv/GATv2Conv) ------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.mha_gat_n2n - operators.mha_gat_v2_n2n - -Heterogenous Aggregator using Basis Decomposition (RGCNConv) ------------------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_hg_basis_n2n_post - - -Update Edges: Concatenation or Sum of Edge and Node Features ------------------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.update_efeat_e2e - operators.update_efeat_e2e diff --git a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/pytorch.rst b/docs/cugraph-docs/source/api_docs/cugraph-ops/python/pytorch.rst deleted file mode 100644 index d2074df..0000000 --- a/docs/cugraph-docs/source/api_docs/cugraph-ops/python/pytorch.rst +++ /dev/null @@ -1,36 +0,0 @@ -========================== -PyTorch Autograd Wrappers -========================== - -.. currentmodule:: pylibcugraphops.pytorch - -Simple Neighborhood Aggregator (SAGEConv) ------------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_concat_n2n - -Graph Attention (GATConv/GATv2Conv) ------------------------------------ -.. autosummary:: - :toctree: ../../api/ops - - operators.mha_gat_n2n - operators.mha_gat_v2_n2n - -Heterogenous Aggregator using Basis Decomposition (RGCNConv) ------------------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.agg_hg_basis_n2n_post - - -Update Edges: Concatenation or Sum of Edge and Node Features ------------------------------------------------------------- -.. autosummary:: - :toctree: ../../api/ops - - operators.update_efeat_e2e - operators.update_efeat_e2e diff --git a/docs/cugraph-docs/source/conf.py b/docs/cugraph-docs/source/conf.py index 84bbb5c..86f2ea1 100644 --- a/docs/cugraph-docs/source/conf.py +++ b/docs/cugraph-docs/source/conf.py @@ -217,7 +217,6 @@ def setup(app): breathe_projects = { 'libcugraph': os.environ['XML_DIR_LIBCUGRAPH'], - 'libcugraphops': os.environ['XML_DIR_LIBCUGRAPHOPS'], 'libwholegraph': os.environ['XML_DIR_LIBWHOLEGRAPH'] } diff --git a/docs/cugraph-docs/source/graph_support/cugraphops_support.rst b/docs/cugraph-docs/source/graph_support/cugraphops_support.rst deleted file mode 100644 index fd79564..0000000 --- a/docs/cugraph-docs/source/graph_support/cugraphops_support.rst +++ /dev/null @@ -1,10 +0,0 @@ -================== -cugraphops Support -================== - -cugraph-ops aims to be a low-level, framework agnostic library providing commonly used computational primitives for GNNs and other graph operations. - -.. toctree:: - :maxdepth: 3 - - https://github.com/rapidsai/cugraph-ops/blob/branch-23.04/README.md diff --git a/docs/cugraph-docs/source/graph_support/gnn_support.rst b/docs/cugraph-docs/source/graph_support/gnn_support.rst index 639b657..7158662 100644 --- a/docs/cugraph-docs/source/graph_support/gnn_support.rst +++ b/docs/cugraph-docs/source/graph_support/gnn_support.rst @@ -8,5 +8,4 @@ Graph Neural Network Support PyG_support.md DGL_support.md - cugraphops_support.rst wholegraph_support.md diff --git a/docs/cugraph-docs/source/references/licenses.md b/docs/cugraph-docs/source/references/licenses.md index b95905d..4664724 100644 --- a/docs/cugraph-docs/source/references/licenses.md +++ b/docs/cugraph-docs/source/references/licenses.md @@ -1,7 +1,6 @@ # License Most of the Graph code is open-sourced and developed under the Apache 2.0 licnese. -The cugraph-ops code is closed sourced and developed under a NVIDIA copyright diff --git a/docs/cugraph-docs/source/wholegraph/basics/wholegraph_intro.md b/docs/cugraph-docs/source/wholegraph/basics/wholegraph_intro.md index 360f8e0..82143f4 100644 --- a/docs/cugraph-docs/source/wholegraph/basics/wholegraph_intro.md +++ b/docs/cugraph-docs/source/wholegraph/basics/wholegraph_intro.md @@ -3,7 +3,7 @@ WholeGraph helps train large-scale Graph Neural Networks(GNN). WholeGraph provides underlying storage structure called WholeMemory. WholeMemory is a Tensor like storage and provides multi-GPU support. It is optimized for NVLink systems like DGX A100 servers. -By working together with cuGraph, cuGraph-Ops, cuGraph-DGL, cuGraph-PyG, and upstream DGL and PyG, +By working together with cuGraph, cuGraph-DGL, cuGraph-PyG, and upstream DGL and PyG, it will be easy to build GNN applications. ## WholeMemory