diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b02b134b337..f8f8bbc1166 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -28,7 +28,7 @@ concurrency: jobs: cpp-build: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -38,7 +38,7 @@ jobs: python-build: needs: [cpp-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -47,7 +47,7 @@ jobs: upload-conda: needs: [cpp-build, python-build] secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-upload-packages.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -57,7 +57,7 @@ jobs: if: github.ref_type == 'branch' needs: python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.12 with: arch: "amd64" branch: ${{ inputs.branch }} @@ -69,7 +69,7 @@ jobs: sha: ${{ inputs.sha }} wheel-build-pylibcugraph: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -82,7 +82,7 @@ jobs: wheel-publish-pylibcugraph: needs: wheel-build-pylibcugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -92,7 +92,7 @@ jobs: wheel-build-cugraph: needs: wheel-publish-pylibcugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -105,7 +105,7 @@ jobs: wheel-publish-cugraph: needs: wheel-build-cugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -115,7 +115,7 @@ jobs: wheel-build-nx-cugraph: needs: wheel-publish-pylibcugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} @@ -125,7 +125,7 @@ jobs: wheel-publish-nx-cugraph: needs: wheel-build-nx-cugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-publish.yaml@branch-23.12 with: build_type: ${{ inputs.build_type || 'branch' }} branch: ${{ inputs.branch }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index e8834e58ace..5f954975818 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -27,41 +27,41 @@ jobs: - wheel-tests-nx-cugraph - devcontainer secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.12 checks: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.12 with: enable_check_generated_files: false conda-cpp-build: needs: checks secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-build.yaml@branch-23.12 with: build_type: pull-request node_type: cpu32 conda-cpp-tests: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12 with: build_type: pull-request conda-python-build: needs: conda-cpp-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-build.yaml@branch-23.12 with: build_type: pull-request conda-python-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.12 with: build_type: pull-request conda-notebook-tests: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.12 with: build_type: pull-request node_type: "gpu-v100-latest-1" @@ -71,7 +71,7 @@ jobs: docs-build: needs: conda-python-build secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/custom-job.yaml@branch-23.12 with: build_type: pull-request node_type: "gpu-v100-latest-1" @@ -81,7 +81,7 @@ jobs: wheel-build-pylibcugraph: needs: checks secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: pull-request script: ci/build_wheel_pylibcugraph.sh @@ -91,14 +91,14 @@ jobs: wheel-tests-pylibcugraph: needs: wheel-build-pylibcugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: pull-request script: ci/test_wheel_pylibcugraph.sh wheel-build-cugraph: needs: wheel-tests-pylibcugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: pull-request script: ci/build_wheel_cugraph.sh @@ -108,27 +108,27 @@ jobs: wheel-tests-cugraph: needs: wheel-build-cugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: pull-request script: ci/test_wheel_cugraph.sh wheel-build-nx-cugraph: needs: wheel-tests-pylibcugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-build.yaml@branch-23.12 with: build_type: pull-request script: ci/build_wheel_nx-cugraph.sh wheel-tests-nx-cugraph: needs: wheel-build-nx-cugraph secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: pull-request script: ci/test_wheel_nx-cugraph.sh devcontainer: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/build-in-devcontainer.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/build-in-devcontainer.yaml@branch-23.12 with: extra-repo-deploy-key: CUGRAPH_OPS_SSH_PRIVATE_DEPLOY_KEY build_command: | diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index dc40eae5f0d..6d2c1566a3c 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -16,7 +16,7 @@ on: jobs: conda-cpp-tests: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-cpp-tests.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} @@ -24,7 +24,7 @@ jobs: sha: ${{ inputs.sha }} conda-python-tests: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/conda-python-tests.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} @@ -32,7 +32,7 @@ jobs: sha: ${{ inputs.sha }} wheel-tests-pylibcugraph: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} @@ -41,7 +41,7 @@ jobs: script: ci/test_wheel_pylibcugraph.sh wheel-tests-cugraph: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} @@ -50,7 +50,7 @@ jobs: script: ci/test_wheel_cugraph.sh wheel-tests-nx-cugraph: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@cuda-120-arm + uses: rapidsai/shared-action-workflows/.github/workflows/wheels-test.yaml@branch-23.12 with: build_type: nightly branch: ${{ inputs.branch }} diff --git a/README.md b/README.md index 3daeb0570b0..560d1483242 100644 --- a/README.md +++ b/README.md @@ -43,8 +43,8 @@ - [Contributing to cuGraph](./readme_pages/CONTRIBUTING.md) - General - [Latest News](./readme_pages/news.md) - - [Current list of algorithms](./readme_pages/algorithms.md) - - [Blogs and Presentation](./docs/cugraph/source/basics/cugraph_blogs.rst) + - [Current list of algorithms](./docs/cugraph/source/graph_support/algorithms.md) + - [Blogs and Presentation](./docs/cugraph/source/tutorials/cugraph_blogs.rst) - [Performance](./readme_pages/performance/performance.md) - Packages - [cuGraph Python](./readme_pages/cugraph_python.md) diff --git a/build.sh b/build.sh index 8dca89aeedd..99082fa96fb 100755 --- a/build.sh +++ b/build.sh @@ -24,14 +24,15 @@ VALIDARGS=" uninstall libcugraph libcugraph_etl + pylibcugraph cugraph cugraph-service - pylibcugraph - cpp-mgtests cugraph-pyg cugraph-dgl nx-cugraph + cpp-mgtests docs + all -v -g -n @@ -52,13 +53,14 @@ HELP="$0 [ ...] [ ...] libcugraph - build libcugraph.so and SG test binaries libcugraph_etl - build libcugraph_etl.so and SG test binaries pylibcugraph - build the pylibcugraph Python package - cugraph-pyg - build the cugraph-pyg Python package cugraph - build the cugraph Python package - nx-cugraph - build the nx-cugraph Python package cugraph-service - build the cugraph-service_client and cugraph-service_server Python package - cpp-mgtests - build libcugraph and libcugraph_etl MG tests. Builds MPI communicator, adding MPI as a dependency. + cugraph-pyg - build the cugraph-pyg Python package cugraph-dgl - build the cugraph-dgl extensions for DGL + nx-cugraph - build the nx-cugraph Python package + cpp-mgtests - build libcugraph and libcugraph_etl MG tests. Builds MPI communicator, adding MPI as a dependency. docs - build the docs + all - build everything and is: -v - verbose build mode -g - build for debug @@ -71,7 +73,7 @@ HELP="$0 [ ...] [ ...] --clean - clean an individual target (note: to do a complete rebuild, use the clean target described above) -h - print this text - default action (no args) is to build and install 'libcugraph' then 'libcugraph_etl' then 'pylibcugraph' then 'cugraph' targets + default action (no args) is to build and install 'libcugraph' then 'libcugraph_etl' then 'pylibcugraph' and then 'cugraph' targets libcugraph build dir is: ${LIBCUGRAPH_BUILD_DIR} @@ -119,7 +121,7 @@ function hasArg { (( ${NUMARGS} != 0 )) && (echo " ${ARGS} " | grep -q " $1 ") } -function buildAll { +function buildDefault { (( ${NUMARGS} == 0 )) || !(echo " ${ARGS} " | grep -q " [^-][a-zA-Z0-9\_\-]\+ ") } @@ -170,7 +172,7 @@ fi if hasArg --without_cugraphops; then BUILD_WITH_CUGRAPHOPS=OFF fi -if hasArg cpp-mgtests; then +if hasArg cpp-mgtests || hasArg all; then BUILD_CPP_MG_TESTS=ON fi if hasArg --cmake_default_generator; then @@ -240,7 +242,7 @@ fi ################################################################################ # Configure, build, and install libcugraph -if buildAll || hasArg libcugraph; then +if buildDefault || hasArg libcugraph || hasArg all; then if hasArg --clean; then if [ -d ${LIBCUGRAPH_BUILD_DIR} ]; then find ${LIBCUGRAPH_BUILD_DIR} -mindepth 1 -delete @@ -270,7 +272,7 @@ if buildAll || hasArg libcugraph; then fi # Configure, build, and install libcugraph_etl -if buildAll || hasArg libcugraph_etl; then +if buildDefault || hasArg libcugraph_etl || hasArg all; then if hasArg --clean; then if [ -d ${LIBCUGRAPH_ETL_BUILD_DIR} ]; then find ${LIBCUGRAPH_ETL_BUILD_DIR} -mindepth 1 -delete @@ -301,7 +303,7 @@ if buildAll || hasArg libcugraph_etl; then fi # Build, and install pylibcugraph -if buildAll || hasArg pylibcugraph; then +if buildDefault || hasArg pylibcugraph || hasArg all; then if hasArg --clean; then cleanPythonDir ${REPODIR}/python/pylibcugraph else @@ -328,7 +330,7 @@ if buildAll || hasArg pylibcugraph; then fi # Build and install the cugraph Python package -if buildAll || hasArg cugraph; then +if buildDefault || hasArg cugraph || hasArg all; then if hasArg --clean; then cleanPythonDir ${REPODIR}/python/cugraph else @@ -355,7 +357,7 @@ if buildAll || hasArg cugraph; then fi # Install the cugraph-service-client and cugraph-service-server Python packages -if hasArg cugraph-service; then +if hasArg cugraph-service || hasArg all; then if hasArg --clean; then cleanPythonDir ${REPODIR}/python/cugraph-service else @@ -365,7 +367,7 @@ if hasArg cugraph-service; then fi # Build and install the cugraph-pyg Python package -if hasArg cugraph-pyg; then +if hasArg cugraph-pyg || hasArg all; then if hasArg --clean; then cleanPythonDir ${REPODIR}/python/cugraph-pyg else @@ -374,7 +376,7 @@ if hasArg cugraph-pyg; then fi # Install the cugraph-dgl extensions for DGL -if hasArg cugraph-dgl; then +if hasArg cugraph-dgl || hasArg all; then if hasArg --clean; then cleanPythonDir ${REPODIR}/python/cugraph-dgl else @@ -383,7 +385,7 @@ if hasArg cugraph-dgl; then fi # Build and install the nx-cugraph Python package -if hasArg nx-cugraph; then +if hasArg nx-cugraph || hasArg all; then if hasArg --clean; then cleanPythonDir ${REPODIR}/python/nx-cugraph else @@ -392,7 +394,7 @@ if hasArg nx-cugraph; then fi # Build the docs -if hasArg docs; then +if hasArg docs || hasArg all; then if [ ! -d ${LIBCUGRAPH_BUILD_DIR} ]; then mkdir -p ${LIBCUGRAPH_BUILD_DIR} cd ${LIBCUGRAPH_BUILD_DIR} diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 7b4cf152b4a..e774a6f9871 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -40,6 +40,13 @@ rapids-mamba-retry install "${PYTHON_CHANNEL}/linux-64/cugraph-dgl-*.tar.bz2" export RAPIDS_VERSION_NUMBER="23.12" export RAPIDS_DOCS_DIR="$(mktemp -d)" +for PROJECT in libcugraphops libwholegraph; do + rapids-logger "Download ${PROJECT} xml_tar" + TMP_DIR=$(mktemp -d) + export XML_DIR_${PROJECT^^}="$TMP_DIR" + aws s3 cp --only-show-errors "s3://rapidsai-docs/${PROJECT}/xml_tar/${RAPIDS_VERSION_NUMBER}/xml.tar.gz" - | tar xzf - -C "${TMP_DIR}" +done + rapids-logger "Build CPP docs" pushd cpp/doxygen doxygen Doxyfile diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 35330db5815..42a218fcf66 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -11,6 +11,7 @@ channels: - nvidia dependencies: - aiohttp +- breathe - c-compiler - cmake>=3.26.4 - cuda-version=11.8 diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml index 84967412dc5..0a1774b769f 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -11,6 +11,7 @@ channels: - nvidia dependencies: - aiohttp +- breathe - c-compiler - cmake>=3.26.4 - cuda-nvcc diff --git a/dependencies.yaml b/dependencies.yaml index f5067ddae70..7b63f6dc536 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -334,6 +334,7 @@ dependencies: common: - output_types: [conda] packages: + - breathe - doxygen - graphviz - ipython diff --git a/docs/cugraph/source/conf.py b/docs/cugraph/source/conf.py index 58ecca27150..470086b4faa 100644 --- a/docs/cugraph/source/conf.py +++ b/docs/cugraph/source/conf.py @@ -37,6 +37,7 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + "breathe", "sphinx.ext.intersphinx", "sphinx.ext.autodoc", "sphinx.ext.autosummary", @@ -205,4 +206,10 @@ def setup(app): # The following is used by sphinx.ext.linkcode to provide links to github linkcode_resolve = make_linkcode_resolve( "https://github.com/rapidsai/cugraph/blob/{revision}/python/{path}#L{lineno}" -) \ No newline at end of file +) + +breathe_projects = { + 'libcugraphops': os.environ['XML_DIR_LIBCUGRAPHOPS'], + 'libwholegraph': os.environ['XML_DIR_LIBWHOLEGRAPH'] +} +breathe_default_project = "libcugraph"