Skip to content

Commit 76af773

Browse files
committed
Merge remote-tracking branch 'upstream/branch-25.02'
2 parents ddb22fc + a36e98d commit 76af773

File tree

154 files changed

+2971
-12345
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+2971
-12345
lines changed

.devcontainer/Dockerfile

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# syntax=docker/dockerfile:1.5
2+
3+
ARG BASE
4+
ARG PYTHON_PACKAGE_MANAGER=conda
5+
6+
FROM ${BASE} as pip-base
7+
8+
ENV DEFAULT_VIRTUAL_ENV=rapids
9+
10+
RUN apt update -y \
11+
&& DEBIAN_FRONTEND=noninteractive apt install -y \
12+
libblas-dev liblapack-dev \
13+
&& rm -rf /tmp/* /var/tmp/* /var/cache/apt/* /var/lib/apt/lists/*;
14+
15+
FROM ${BASE} as conda-base
16+
17+
ENV DEFAULT_CONDA_ENV=rapids
18+
ENV RAPIDS_LIBUCX_PREFER_SYSTEM_LIBRARY=true
19+
20+
FROM ${PYTHON_PACKAGE_MANAGER}-base
21+
22+
ARG CUDA
23+
ENV CUDAARCHS="RAPIDS"
24+
ENV CUDA_VERSION="${CUDA_VERSION:-${CUDA}}"
25+
26+
ARG PYTHON_PACKAGE_MANAGER
27+
ENV PYTHON_PACKAGE_MANAGER="${PYTHON_PACKAGE_MANAGER}"
28+
29+
ENV PYTHONSAFEPATH="1"
30+
ENV PYTHONUNBUFFERED="1"
31+
ENV PYTHONDONTWRITEBYTECODE="1"
32+
33+
ENV SCCACHE_REGION="us-east-2"
34+
ENV SCCACHE_BUCKET="rapids-sccache-devs"
35+
ENV AWS_ROLE_ARN="arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs"
36+
ENV HISTFILE="/home/coder/.cache/._bash_history"

.devcontainer/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# cugraph-gnn Development Containers
2+
3+
This directory contains [devcontainer configurations](https://containers.dev/implementors/json_reference/) for using VSCode to [develop in a container](https://code.visualstudio.com/docs/devcontainers/containers) via the `Remote Containers` [extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) or [GitHub Codespaces](https://github.com/codespaces).
4+
5+
This container is a turnkey development environment for building and testing the cuGraph C++ and Python libraries.
6+
7+
## Table of Contents
8+
9+
* [Prerequisites](#prerequisites)
10+
* [Host bind mounts](#host-bind-mounts)
11+
* [Launch a Dev Container](#launch-a-dev-container)
12+
13+
## Prerequisites
14+
15+
* [VSCode](https://code.visualstudio.com/download)
16+
* [VSCode Remote Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
17+
18+
## Host bind mounts
19+
20+
By default, the following directories are bind-mounted into the devcontainer:
21+
22+
* `${repo}:/home/coder/cugraph-gnn`
23+
* `${repo}/../.aws:/home/coder/.aws`
24+
* `${repo}/../.local:/home/coder/.local`
25+
* `${repo}/../.cache:/home/coder/.cache`
26+
* `${repo}/../.conda:/home/coder/.conda`
27+
* `${repo}/../.config:/home/coder/.config`
28+
29+
This ensures caches, configurations, dependencies, and your commits are persisted on the host across container runs.
30+
31+
## Launch a Dev Container
32+
33+
To launch a devcontainer from VSCode, open the cugraph-gnn repo and select the "Reopen in Container" button in the bottom right.
34+
35+
Alternatively, open the VSCode command palette (typically `cmd/ctrl + shift + P`) and run the "Rebuild and Reopen in Container" command.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"build": {
3+
"context": "${localWorkspaceFolder}/.devcontainer",
4+
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
5+
"args": {
6+
"CUDA": "11.8",
7+
"PYTHON_PACKAGE_MANAGER": "conda",
8+
"BASE": "rapidsai/devcontainers:25.02-cpp-cuda11.8-mambaforge-ubuntu22.04"
9+
}
10+
},
11+
"runArgs": [
12+
"--rm",
13+
"--name",
14+
"${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.02-cuda11.8-conda"
15+
],
16+
"hostRequirements": {"gpu": "optional"},
17+
"features": {
18+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.2": {}
19+
},
20+
"overrideFeatureInstallOrder": [
21+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
22+
],
23+
"initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda11.8-envs}"],
24+
"postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"],
25+
"workspaceFolder": "/home/coder",
26+
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cugraph-gnn,type=bind,consistency=consistent",
27+
"mounts": [
28+
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
29+
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
30+
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
31+
"source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent",
32+
"source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda11.8-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent"
33+
],
34+
"customizations": {
35+
"vscode": {
36+
"extensions": [
37+
"ms-python.flake8",
38+
"nvidia.nsight-vscode-edition"
39+
]
40+
}
41+
}
42+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"build": {
3+
"context": "${localWorkspaceFolder}/.devcontainer",
4+
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
5+
"args": {
6+
"CUDA": "11.8",
7+
"PYTHON_PACKAGE_MANAGER": "pip",
8+
"BASE": "rapidsai/devcontainers:25.02-cpp-cuda11.8-ucx1.18.0-openmpi-ubuntu22.04"
9+
}
10+
},
11+
"runArgs": [
12+
"--rm",
13+
"--name",
14+
"${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.02-cuda11.8-pip"
15+
],
16+
"hostRequirements": {"gpu": "optional"},
17+
"features": {
18+
"ghcr.io/rapidsai/devcontainers/features/cuda:25.2": {
19+
"version": "11.8",
20+
"installcuBLAS": true,
21+
"installcuSOLVER": true,
22+
"installcuRAND": true,
23+
"installcuSPARSE": true
24+
},
25+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.2": {}
26+
},
27+
"overrideFeatureInstallOrder": [
28+
"ghcr.io/rapidsai/devcontainers/features/cuda",
29+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
30+
],
31+
"initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda11.8-venvs}"],
32+
"postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"],
33+
"workspaceFolder": "/home/coder",
34+
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cugraph-gnn,type=bind,consistency=consistent",
35+
"mounts": [
36+
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
37+
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
38+
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
39+
"source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda11.8-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent"
40+
],
41+
"customizations": {
42+
"vscode": {
43+
"extensions": [
44+
"ms-python.flake8",
45+
"nvidia.nsight-vscode-edition"
46+
]
47+
}
48+
}
49+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"build": {
3+
"context": "${localWorkspaceFolder}/.devcontainer",
4+
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
5+
"args": {
6+
"CUDA": "12.8",
7+
"PYTHON_PACKAGE_MANAGER": "conda",
8+
"BASE": "rapidsai/devcontainers:25.02-cpp-mambaforge-ubuntu22.04"
9+
}
10+
},
11+
"runArgs": [
12+
"--rm",
13+
"--name",
14+
"${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.02-cuda12.8-conda"
15+
],
16+
"hostRequirements": {"gpu": "optional"},
17+
"features": {
18+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.2": {}
19+
},
20+
"overrideFeatureInstallOrder": [
21+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
22+
],
23+
"initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.8-envs}"],
24+
"postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"],
25+
"workspaceFolder": "/home/coder",
26+
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cugraph-gnn,type=bind,consistency=consistent",
27+
"mounts": [
28+
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
29+
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
30+
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
31+
"source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent",
32+
"source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda12.8-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent"
33+
],
34+
"customizations": {
35+
"vscode": {
36+
"extensions": [
37+
"ms-python.flake8",
38+
"nvidia.nsight-vscode-edition"
39+
]
40+
}
41+
}
42+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"build": {
3+
"context": "${localWorkspaceFolder}/.devcontainer",
4+
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
5+
"args": {
6+
"CUDA": "12.8",
7+
"PYTHON_PACKAGE_MANAGER": "pip",
8+
"BASE": "rapidsai/devcontainers:25.02-cpp-cuda12.8-ucx1.18.0-openmpi-ubuntu22.04"
9+
}
10+
},
11+
"runArgs": [
12+
"--rm",
13+
"--name",
14+
"${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.02-cuda12.8-pip"
15+
],
16+
"hostRequirements": {"gpu": "optional"},
17+
"features": {
18+
"ghcr.io/rapidsai/devcontainers/features/cuda:25.2": {
19+
"version": "12.8",
20+
"installcuBLAS": true,
21+
"installcuSOLVER": true,
22+
"installcuRAND": true,
23+
"installcuSPARSE": true
24+
},
25+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:25.2": {}
26+
},
27+
"overrideFeatureInstallOrder": [
28+
"ghcr.io/rapidsai/devcontainers/features/cuda",
29+
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
30+
],
31+
"initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.8-venvs}"],
32+
"postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"],
33+
"workspaceFolder": "/home/coder",
34+
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cugraph-gnn,type=bind,consistency=consistent",
35+
"mounts": [
36+
"source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
37+
"source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
38+
"source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent",
39+
"source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda12.8-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent"
40+
],
41+
"customizations": {
42+
"vscode": {
43+
"extensions": [
44+
"ms-python.flake8",
45+
"nvidia.nsight-vscode-edition"
46+
]
47+
}
48+
}
49+
}

.github/copy-pr-bot.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
# https://docs.gha-runners.nvidia.com/apps/copy-pr-bot/
33

44
enabled: true
5+
auto_sync_draft: false

.github/workflows/build.yaml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ concurrency:
2828
jobs:
2929
cpp-build:
3030
secrets: inherit
31-
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-24.12
31+
uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-build.yaml@branch-25.02
3232
with:
3333
build_type: ${{ inputs.build_type || 'branch' }}
3434
branch: ${{ inputs.branch }}
@@ -37,24 +37,36 @@ jobs:
3737
python-build:
3838
needs: [cpp-build]
3939
secrets: inherit
40-
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-24.12
40+
uses: rapidsai/shared-workflows/.github/workflows/conda-python-build.yaml@branch-25.02
4141
with:
4242
build_type: ${{ inputs.build_type || 'branch' }}
4343
branch: ${{ inputs.branch }}
4444
date: ${{ inputs.date }}
4545
sha: ${{ inputs.sha }}
46+
docs-build:
47+
needs: cpp-build
48+
secrets: inherit
49+
uses: rapidsai/shared-workflows/.github/workflows/[email protected]
50+
with:
51+
arch: "amd64"
52+
branch: ${{ inputs.branch }}
53+
build_type: ${{ inputs.build_type || 'branch' }}
54+
container_image: "rapidsai/ci-conda:latest"
55+
date: ${{ inputs.date }}
56+
run_script: "ci/build_docs.sh"
57+
sha: ${{ inputs.sha }}
4658
upload-conda:
4759
needs: [cpp-build, python-build]
4860
secrets: inherit
49-
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-24.12
61+
uses: rapidsai/shared-workflows/.github/workflows/conda-upload-packages.yaml@branch-25.02
5062
with:
5163
build_type: ${{ inputs.build_type || 'branch' }}
5264
branch: ${{ inputs.branch }}
5365
date: ${{ inputs.date }}
5466
sha: ${{ inputs.sha }}
5567
wheel-build-cugraph-dgl:
5668
secrets: inherit
57-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.12
69+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.02
5870
with:
5971
build_type: ${{ inputs.build_type || 'branch' }}
6072
branch: ${{ inputs.branch }}
@@ -64,16 +76,17 @@ jobs:
6476
wheel-publish-cugraph-dgl:
6577
needs: wheel-build-cugraph-dgl
6678
secrets: inherit
67-
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.12
79+
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.02
6880
with:
6981
build_type: ${{ inputs.build_type || 'branch' }}
7082
branch: ${{ inputs.branch }}
7183
sha: ${{ inputs.sha }}
7284
date: ${{ inputs.date }}
7385
package-name: cugraph-dgl
86+
package-type: python
7487
wheel-build-cugraph-pyg:
7588
secrets: inherit
76-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.12
89+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.02
7790
with:
7891
build_type: ${{ inputs.build_type || 'branch' }}
7992
branch: ${{ inputs.branch }}
@@ -83,16 +96,17 @@ jobs:
8396
wheel-publish-cugraph-pyg:
8497
needs: wheel-build-cugraph-pyg
8598
secrets: inherit
86-
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.12
99+
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.02
87100
with:
88101
build_type: ${{ inputs.build_type || 'branch' }}
89102
branch: ${{ inputs.branch }}
90103
sha: ${{ inputs.sha }}
91104
date: ${{ inputs.date }}
92105
package-name: cugraph-pyg
106+
package-type: python
93107
wheel-build-pylibwholegraph:
94108
secrets: inherit
95-
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-24.12
109+
uses: rapidsai/shared-workflows/.github/workflows/wheels-build.yaml@branch-25.02
96110
with:
97111
build_type: ${{ inputs.build_type || 'branch' }}
98112
branch: ${{ inputs.branch }}
@@ -102,10 +116,11 @@ jobs:
102116
wheel-publish-pylibwholegraph:
103117
needs: wheel-build-pylibwholegraph
104118
secrets: inherit
105-
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-24.12
119+
uses: rapidsai/shared-workflows/.github/workflows/wheels-publish.yaml@branch-25.02
106120
with:
107121
build_type: ${{ inputs.build_type || 'branch' }}
108122
branch: ${{ inputs.branch }}
109123
sha: ${{ inputs.sha }}
110124
date: ${{ inputs.date }}
111125
package-name: pylibwholegraph
126+
package-type: python

0 commit comments

Comments
 (0)