From fd025d75ea39c7168ccec56293cf4a69244ca184 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 28 Jan 2025 13:34:15 -0600 Subject: [PATCH 1/3] Add CUDA 12.8 RAPIDS devcontainers. --- .../cuda12.8-conda/devcontainer.json | 105 ++++++++++++++++++ .devcontainer/cuda12.8-conda/features | 1 + .devcontainer/cuda12.8-pip/devcontainer.json | 92 +++++++++++++++ .devcontainer/cuda12.8-pip/features | 1 + matrix.yml | 2 +- 5 files changed, 200 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/cuda12.8-conda/devcontainer.json create mode 120000 .devcontainer/cuda12.8-conda/features create mode 100644 .devcontainer/cuda12.8-pip/devcontainer.json create mode 120000 .devcontainer/cuda12.8-pip/features diff --git a/.devcontainer/cuda12.8-conda/devcontainer.json b/.devcontainer/cuda12.8-conda/devcontainer.json new file mode 100644 index 00000000..2ae80136 --- /dev/null +++ b/.devcontainer/cuda12.8-conda/devcontainer.json @@ -0,0 +1,105 @@ +{ + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/rapids.Dockerfile", + "args": { + "CUDA": "12.8", + "PYTHON_PACKAGE_MANAGER": "conda", + "BASE": "rapidsai/devcontainers:25.02-cpp-mambaforge-ubuntu22.04" + } + }, + "runArgs": [ + "--rm", + "--name", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.02-cuda12.8-conda" + ], + "hostRequirements": {"gpu": "optional"}, + "features": { + "./features/src/cuda": { + "version": "12.8", + "installCompilers": false, + "installProfilers": true, + "installCTKLibraries": false, + "installDevPackages": false, + "installcuDNN": false, + "installcuTensor": false, + "installNCCL": false, + "installCUDARuntime": false, + "installNVRTC": false, + "installOpenCL": false, + "installcuBLAS": false, + "installcuSPARSE": false, + "installcuFFT": false, + "installcuFile": false, + "installcuRAND": false, + "installcuSOLVER": false, + "installNPP": false, + "installnvJPEG": false, + "pruneStaticLibs": true + }, + "./features/src/utils": {}, + "./features/src/rapids-build-utils": {} + }, + "overrideFeatureInstallOrder": [ + "./features/src/cuda", + "./features/src/utils", + "./features/src/rapids-build-utils" + ], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.8-envs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../kvikio,target=/home/coder/kvikio,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../ucxx,target=/home/coder/ucxx,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cudf,target=/home/coder/cudf,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../raft,target=/home/coder/raft,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuvs,target=/home/coder/cuvs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda12.8-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.log/devcontainer-utils,target=/var/log/devcontainer-utils,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/.devcontainer/cuda12.8-conda/features/src/utils/opt/devcontainer/bin,target=/opt/devcontainer/bin,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/.devcontainer/cuda12.8-conda/features/src/rapids-build-utils/opt/rapids-build-utils,target=/opt/rapids-build-utils,type=bind,consistency=consistent" + ], + "customizations": { + "vscode": { + "extensions": [ + "augustocdias.tasks-shell-input", + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ], + "settings": { + "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/target/**": true, + "/home/coder/.aws/**/*": true, + "/home/coder/.cache/**/*": true, + "/home/coder/.conda/**/*": true, + "/home/coder/.local/share/**/*": true, + "/home/coder/.vscode-server/**/*": true + }, + "search.exclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/*.code-search": true, + "/home/coder/.aws/**/*": true, + "/home/coder/.cache/**/*": true, + "/home/coder/.conda/**/*": true, + "/home/coder/.local/share/**/*": true, + "/home/coder/.vscode-server/**/*": true + } + } + } + } +} diff --git a/.devcontainer/cuda12.8-conda/features b/.devcontainer/cuda12.8-conda/features new file mode 120000 index 00000000..c9012f29 --- /dev/null +++ b/.devcontainer/cuda12.8-conda/features @@ -0,0 +1 @@ +../../features \ No newline at end of file diff --git a/.devcontainer/cuda12.8-pip/devcontainer.json b/.devcontainer/cuda12.8-pip/devcontainer.json new file mode 100644 index 00000000..a718667c --- /dev/null +++ b/.devcontainer/cuda12.8-pip/devcontainer.json @@ -0,0 +1,92 @@ +{ + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/rapids.Dockerfile", + "args": { + "CUDA": "12.8", + "PYTHON_PACKAGE_MANAGER": "pip", + "BASE": "rapidsai/devcontainers:25.02-cpp-cuda12.8-ucx1.18.0-openmpi-ubuntu22.04" + } + }, + "runArgs": [ + "--rm", + "--name", + "${localEnv:USER:anon}-rapids-${localWorkspaceFolderBasename}-25.02-cuda12.8-pip" + ], + "hostRequirements": {"gpu": "optional"}, + "features": { + "./features/src/cuda": { + "version": "12.8", + "cuDNNVersion": "9", + "installcuBLAS": true, + "installcuDNN": true, + "installcuSOLVER": true, + "installcuRAND": true, + "installcuSPARSE": true, + "installProfilers": true + }, + "./features/src/utils": {}, + "./features/src/rapids-build-utils": {} + }, + "overrideFeatureInstallOrder": [ + "./features/src/cuda", + "./features/src/utils", + "./features/src/rapids-build-utils" + ], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.8-venvs,log/devcontainer-utils} ${localWorkspaceFolder}/../{rmm,kvikio,ucxx,cudf,raft,cuvs,cumlprims_mg,cuml,cugraph,cugraph-gnn,nx-cugraph,cuspatial}"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"], + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/devcontainers,type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../kvikio,target=/home/coder/kvikio,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../ucxx,target=/home/coder/ucxx,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cudf,target=/home/coder/cudf,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../raft,target=/home/coder/raft,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuvs,target=/home/coder/cuvs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuml,target=/home/coder/cuml,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../nx-cugraph,target=/home/coder/nx-cugraph,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cuspatial,target=/home/coder/cuspatial,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda12.8-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../.log/devcontainer-utils,target=/var/log/devcontainer-utils,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/.devcontainer/cuda12.8-pip/features/src/utils/opt/devcontainer/bin,target=/opt/devcontainer/bin,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/.devcontainer/cuda12.8-pip/features/src/rapids-build-utils/opt/rapids-build-utils,target=/opt/rapids-build-utils,type=bind,consistency=consistent" + ], + "customizations": { + "vscode": { + "extensions": [ + "augustocdias.tasks-shell-input", + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ], + "settings": { + "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/target/**": true, + "/home/coder/.aws/**/*": true, + "/home/coder/.cache/**/*": true, + "/home/coder/.conda/**/*": true, + "/home/coder/.local/share/**/*": true, + "/home/coder/.vscode-server/**/*": true + }, + "search.exclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/*.code-search": true, + "/home/coder/.aws/**/*": true, + "/home/coder/.cache/**/*": true, + "/home/coder/.conda/**/*": true, + "/home/coder/.local/share/**/*": true, + "/home/coder/.vscode-server/**/*": true + } + } + } + } +} diff --git a/.devcontainer/cuda12.8-pip/features b/.devcontainer/cuda12.8-pip/features new file mode 120000 index 00000000..c9012f29 --- /dev/null +++ b/.devcontainer/cuda12.8-pip/features @@ -0,0 +1 @@ +../../features \ No newline at end of file diff --git a/matrix.yml b/matrix.yml index f92f59ca..066a16e4 100644 --- a/matrix.yml +++ b/matrix.yml @@ -2,7 +2,7 @@ x-cuda-prev-min: &cuda_prev_min { name: "cuda", version: "11.1" } x-cuda-prev-max: &cuda_prev_max { name: "cuda", version: "11.8" } x-cuda-curr-min: &cuda_curr_min { name: "cuda", version: "12.0" } x-cuda-curr-max: &cuda_curr_max { name: "cuda", version: "12.8" } -x-cuda-curr-max: &cuda_curr_max_rapids { name: "cuda", version: "12.5" } +x-cuda-curr-max-rapids: &cuda_curr_max_rapids { name: "cuda", version: "12.5" } x-gcc-7: &gcc_7 { name: "gcc", version: "7" } x-gcc-8: &gcc_8 { name: "gcc", version: "8" } From 9d34b5cb19166254bbb94ee11880389d5a237758 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 28 Jan 2025 15:31:02 -0600 Subject: [PATCH 2/3] Update matrix.yml Co-authored-by: Paul Taylor <178183+trxcllnt@users.noreply.github.com> --- matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matrix.yml b/matrix.yml index 066a16e4..06502a4b 100644 --- a/matrix.yml +++ b/matrix.yml @@ -2,7 +2,7 @@ x-cuda-prev-min: &cuda_prev_min { name: "cuda", version: "11.1" } x-cuda-prev-max: &cuda_prev_max { name: "cuda", version: "11.8" } x-cuda-curr-min: &cuda_curr_min { name: "cuda", version: "12.0" } x-cuda-curr-max: &cuda_curr_max { name: "cuda", version: "12.8" } -x-cuda-curr-max-rapids: &cuda_curr_max_rapids { name: "cuda", version: "12.5" } +x-cuda-curr-max-rapids: &cuda_curr_max_rapids { name: "cuda", version: "12.8" } x-gcc-7: &gcc_7 { name: "gcc", version: "7" } x-gcc-8: &gcc_8 { name: "gcc", version: "8" } From 6e5c3cb3d6329b9a926ab8f7f5a8f4f98ab70dae Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 28 Jan 2025 15:36:41 -0600 Subject: [PATCH 3/3] Update matrix.yml --- matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matrix.yml b/matrix.yml index 06502a4b..066a16e4 100644 --- a/matrix.yml +++ b/matrix.yml @@ -2,7 +2,7 @@ x-cuda-prev-min: &cuda_prev_min { name: "cuda", version: "11.1" } x-cuda-prev-max: &cuda_prev_max { name: "cuda", version: "11.8" } x-cuda-curr-min: &cuda_curr_min { name: "cuda", version: "12.0" } x-cuda-curr-max: &cuda_curr_max { name: "cuda", version: "12.8" } -x-cuda-curr-max-rapids: &cuda_curr_max_rapids { name: "cuda", version: "12.8" } +x-cuda-curr-max-rapids: &cuda_curr_max_rapids { name: "cuda", version: "12.5" } x-gcc-7: &gcc_7 { name: "gcc", version: "7" } x-gcc-8: &gcc_8 { name: "gcc", version: "8" }