From 1eaf6b2a13517a05fb8b1467f901f5aa931abc3d Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 17 Jul 2023 10:11:01 -0700 Subject: [PATCH 01/56] add devcontainers --- .devcontainer/Dockerfile | 27 +++++ .devcontainer/README.md | 103 ++++++++++++++++++ .devcontainer/conda/devcontainer.json | 60 ++++++++++ .../isolated/.devcontainer/devcontainer.json | 63 +++++++++++ .../single/.devcontainer/devcontainer.json | 1 + .../unified/.devcontainer/devcontainer.json | 62 +++++++++++ .devcontainer/devcontainer.json | 60 ++++++++++ .devcontainer/launch.sh | 52 +++++++++ .devcontainer/pip/devcontainer.json | 61 +++++++++++ .../isolated/.devcontainer/devcontainer.json | 62 +++++++++++ .../single/.devcontainer/devcontainer.json | 1 + .../unified/.devcontainer/devcontainer.json | 61 +++++++++++ 12 files changed, 613 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/README.md create mode 100644 .devcontainer/conda/devcontainer.json create mode 100644 .devcontainer/conda/isolated/.devcontainer/devcontainer.json create mode 120000 .devcontainer/conda/single/.devcontainer/devcontainer.json create mode 100644 .devcontainer/conda/unified/.devcontainer/devcontainer.json create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/launch.sh create mode 100644 .devcontainer/pip/devcontainer.json create mode 100644 .devcontainer/pip/isolated/.devcontainer/devcontainer.json create mode 120000 .devcontainer/pip/single/.devcontainer/devcontainer.json create mode 100644 .devcontainer/pip/unified/.devcontainer/devcontainer.json diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 000000000..71e229a45 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,27 @@ +# syntax=docker/dockerfile:1.5 + +ARG CUDA=12.0 +ARG LLVM=16 +ARG RAPIDS=23.08 +ARG DISTRO=ubuntu22.04 +ARG REPO=rapidsai/devcontainers + +ARG PYTHON_PACKAGE_MANAGER=conda + +FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-${DISTRO} as pip-base + +FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-mambaforge-${DISTRO} as conda-base + +FROM ${PYTHON_PACKAGE_MANAGER}-base + +ARG PYTHON_PACKAGE_MANAGER +ENV PYTHON_PACKAGE_MANAGER="${PYTHON_PACKAGE_MANAGER}" + +ENV PYTHONSAFEPATH="1" +ENV PYTHONUNBUFFERED="1" +ENV PYTHONDONTWRITEBYTECODE="1" + +ENV SCCACHE_REGION="us-east-2" +ENV SCCACHE_BUCKET="rapids-sccache-devs" +ENV VAULT_HOST="https://vault.ops.k8s.rapids.ai" +ENV HISTFILE="/home/coder/.cache/._bash_history" diff --git a/.devcontainer/README.md b/.devcontainer/README.md new file mode 100644 index 000000000..2574ffcf1 --- /dev/null +++ b/.devcontainer/README.md @@ -0,0 +1,103 @@ +# RMM Development Containers + +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). + +This container is a turnkey development environment for building and testing the RMM C++ and Python libraries. + +## Table of Contents + +* [Prerequisites](#prerequisites) +* [Host bind mounts](#host-bind-mounts) +* [Launch a Dev Container](#launch-a-dev-container) + * [via VSCode](#via-vscode) + * [via `launch.sh`](#via-launchsh) + * [Single mode](#single-mode) + * [Unified mode](#unified-mode) + * [Isolated mode](#isolated-mode) + +## Prerequisites + +* [VSCode](https://code.visualstudio.com/download) +* [VSCode Remote Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) + +## Host bind mounts + +By default, the following directories are bind-mounted into the devcontainer: + +* `${repo}:/home/coder/rmm` +* `${repo}/../.aws:/home/coder/.aws` +* `${repo}/../.local:/home/coder/.local` +* `${repo}/../.cache:/home/coder/.cache` +* `${repo}/../.conda:/home/coder/.conda` +* `${repo}/../.config:/home/coder/.config` + +This ensures caches, configurations, dependencies, and your commits are persisted on the host across container runs. + +## Launch a Dev Container + +A devcontainer can be launched directly by VSCode, or via a custom `launch.sh` shell script. + +### via VSCode + +To launch a devcontainer from VSCode, open the RMM repo and select the "Reopen in Container" button in the bottom right:
+ +Alternatively, open the VSCode command palette (typically `cmd/ctrl + shift + P`) and run the "Rebuild and Reopen in Container" command. + +### via `launch.sh` + +Use the `.devcontainer/launch.sh` script to start a new instance of the development container and launch a fresh VSCode window connected to it. + +VSCode extends its [single-window-per-folder](https://github.com/microsoft/vscode/issues/2686) process model to devcontainers. Opening the same devcontainer in separate windows doesn't create two separate containers -- instead you have two VSCode windows each connected to the same running container. + +`launch.sh` takes two arguments, a `mode` and a `package manager`. + +* The `mode` argument determines how the devcontainer interacts with the files on the host. +* The `package manager` argument can be either `conda`, or `pip`. This determines whether the devcontainer uses `conda` or `pip` to install the dependencies (the default is `conda`). `pip` is experimental/not working for normal dev, and is currently meant to aid in pip packaging work. + +#### Single mode + +`.devcontainer/launch.sh single` launches the devcontainer with the [default bind mounts](#host-bind-mounts). RMM and cuDF are installed via the package manager. + +Example: +```bash +# Launch a devcontainer that only mounts rmm and installs dependencies via conda +$ .devcontainer/launch.sh single conda + +# or installs dependencies via pip +$ .devcontainer/launch.sh single pip +``` + +#### Unified mode + +`.devcontainer/launch.sh unified` launches the devcontainer with the [default bind mounts](#host-bind-mounts), as well as additional `rmm` and `cudf` bind mounts (assumes RMM and cuDF are siblings to the rmm repository): + +* `${repo}/../.rmm:/home/coder/rmm` +* `${repo}/../.cudf:/home/coder/cudf` + +In this mode, RMM and cuDF will not be installed, but the devcontainer will install the dependencies necessary to build all three. + +Example: +```bash +# Launch a devcontainer that mounts rmm, cudf, and rmm from the host and installs dependencies via conda +$ .devcontainer/launch.sh unified conda + +# or installs dependencies via pip +$ .devcontainer/launch.sh unified pip +``` + +#### Isolated mode + +`.devcontainer/launch.sh isolated` launches the devcontainer without the deps/repo bind mounts, and instead contains a unique copy of the `rmm` source in the container's file system. + +Use this mode to launch multiple isolated development containers that can be checked out to separate branches of `rmm`. + +**Be sure to push any commits you want to persist. Once this container is removed, any unpushed changes will be lost!** + +Examples: +```bash +# Launch a devcontainer that is isolated from changes on the host and installs dependencies via conda +$ .devcontainer/launch.sh isolated conda + +# or installs dependencies via pip +$ .devcontainer/launch.sh isolated pip +``` diff --git a/.devcontainer/conda/devcontainer.json b/.devcontainer/conda/devcontainer.json new file mode 100644 index 000000000..1cc0e81ff --- /dev/null +++ b/.devcontainer/conda/devcontainer.json @@ -0,0 +1,60 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "conda" + } + }, + "hostRequirements": { + "gpu": true + }, + +// "features": { +// "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} +// }, + +// "overrideFeatureInstallOrder": [ +// "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" +// ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" + ], + + "containerEnv": { + "DEFAULT_CONDA_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "mutantdino.resourcemonitor", + "tamasfe.even-better-toml" + ], + "settings": { + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.watcherExclude": { + "**/target/**": true + }, + "python.linting.flake8Enabled": true + } + } + } +} diff --git a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json new file mode 100644 index 000000000..2f611de37 --- /dev/null +++ b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json @@ -0,0 +1,63 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "conda" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs}" + ], + + "updateContentCommand": [ + "/bin/bash", "-c", "cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update" + ], + + "containerEnv": { + "DEFAULT_CONDA_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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" + ], + + "customizations": { + "vscode": { + "extensions": [ + "mutantdino.resourcemonitor", + "tamasfe.even-better-toml" + ], + "settings": { + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.watcherExclude": { + "**/target/**": true + }, + "python.linting.flake8Enabled": true + } + } + } +} diff --git a/.devcontainer/conda/single/.devcontainer/devcontainer.json b/.devcontainer/conda/single/.devcontainer/devcontainer.json new file mode 120000 index 000000000..cec0647b2 --- /dev/null +++ b/.devcontainer/conda/single/.devcontainer/devcontainer.json @@ -0,0 +1 @@ +../../devcontainer.json \ No newline at end of file diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json new file mode 100644 index 000000000..3a4015fe6 --- /dev/null +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -0,0 +1,62 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "conda" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/unified}" + ], + + "containerEnv": { + "DEFAULT_CONDA_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cudf,target=/home/coder/cudf,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}/unified,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "mutantdino.resourcemonitor", + "tamasfe.even-better-toml" + ], + "settings": { + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.watcherExclude": { + "**/target/**": true + }, + "python.linting.flake8Enabled": true + } + } + } +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..67fb66979 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,60 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "conda" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" + ], + + "containerEnv": { + "DEFAULT_CONDA_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "mutantdino.resourcemonitor", + "tamasfe.even-better-toml" + ], + "settings": { + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.watcherExclude": { + "**/target/**": true + }, + "python.linting.flake8Enabled": true + } + } + } +} diff --git a/.devcontainer/launch.sh b/.devcontainer/launch.sh new file mode 100755 index 000000000..60bc3e38a --- /dev/null +++ b/.devcontainer/launch.sh @@ -0,0 +1,52 @@ +#! /usr/bin/env bash + +launch_devcontainer() { + + # Ensure we're in the repo root + cd "$( cd "$( dirname "$(realpath -m "${BASH_SOURCE[0]}")" )" && pwd )/.."; + + local mode="${1:-single}"; + local pkgs="${2:-conda}"; + + case "${pkgs}" in + pip ) ;; + conda ) ;; + * ) pkgs="conda";; + esac + + case "${mode}" in + single ) ;; + unified ) ;; + isolated) ;; + * ) mode="single";; + esac + + local flavor="${pkgs}/${mode}"; + local workspace="$(basename "$(pwd)")"; + local tmpdir="$(mktemp -d)/${workspace}"; + local path="$(pwd)/.devcontainer/${flavor}"; + + mkdir -p "${tmpdir}"; + cp -arL "$path/.devcontainer" "${tmpdir}/"; + sed -i "s@\${localWorkspaceFolder}@$(pwd)@g" "${tmpdir}/.devcontainer/devcontainer.json"; + path="${tmpdir}"; + + local hash="$(echo -n "${path}" | xxd -pu - | tr -d '[:space:]')"; + local url="vscode://vscode-remote/dev-container+${hash}/home/coder"; + + echo "devcontainer URL: ${url}"; + + local launch=""; + if type open >/dev/null 2>&1; then + launch="open"; + elif type xdg-open >/dev/null 2>&1; then + launch="xdg-open"; + fi + + if [ -n "${launch}" ]; then + code --new-window "${tmpdir}"; + exec "${launch}" "${url}" >/dev/null 2>&1; + fi +} + +launch_devcontainer "$@"; diff --git a/.devcontainer/pip/devcontainer.json b/.devcontainer/pip/devcontainer.json new file mode 100644 index 000000000..1eb21da16 --- /dev/null +++ b/.devcontainer/pip/devcontainer.json @@ -0,0 +1,61 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "pip" + } + }, + "hostRequirements": { + "gpu": true + }, + +// "features": { +// "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} +// }, + +// "overrideFeatureInstallOrder": [ +// "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" +// ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" + ], + + "containerEnv": { + "PYTHONSAFEPATH": "true", + "PYTHONUNBUFFERED": "true", + "DEFAULT_VIRTUAL_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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/${localWorkspaceFolderBasename}/single,target=/home/coder/.local,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "mutantdino.resourcemonitor", + "tamasfe.even-better-toml" + ], + "settings": { + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.watcherExclude": { + "**/target/**": true + }, + "python.linting.flake8Enabled": true + } + } + } +} diff --git a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json new file mode 100644 index 000000000..b65eb4487 --- /dev/null +++ b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json @@ -0,0 +1,62 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "pip" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip}" + ], + + "updateContentCommand": [ + "/bin/bash", "-c", "cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update" + ], + + "containerEnv": { + "DEFAULT_VIRTUAL_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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" + ], + + "customizations": { + "vscode": { + "extensions": [ + "mutantdino.resourcemonitor", + "tamasfe.even-better-toml" + ], + "settings": { + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.watcherExclude": { + "**/target/**": true + }, + "python.linting.flake8Enabled": true + } + } + } +} diff --git a/.devcontainer/pip/single/.devcontainer/devcontainer.json b/.devcontainer/pip/single/.devcontainer/devcontainer.json new file mode 120000 index 000000000..cec0647b2 --- /dev/null +++ b/.devcontainer/pip/single/.devcontainer/devcontainer.json @@ -0,0 +1 @@ +../../devcontainer.json \ No newline at end of file diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json new file mode 100644 index 000000000..c19f599ca --- /dev/null +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -0,0 +1,61 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "pip" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/unified}" + ], + + "containerEnv": { + "DEFAULT_VIRTUAL_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cudf,target=/home/coder/cudf,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/${localWorkspaceFolderBasename}/unified,target=/home/coder/.local,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "mutantdino.resourcemonitor", + "tamasfe.even-better-toml" + ], + "settings": { + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.watcherExclude": { + "**/target/**": true + }, + "python.linting.flake8Enabled": true + } + } + } +} From 9e4dfafb82fe135fffa4aea75a788ac06c59f955 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 17 Jul 2023 10:29:58 -0700 Subject: [PATCH 02/56] add compilers to conda dependencies --- dependencies.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dependencies.yaml b/dependencies.yaml index 6085088df..ada550404 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -68,6 +68,8 @@ dependencies: - tomli - output_types: conda packages: + - c-compiler + - cxx-compiler - fmt>=9.1.0,<10 - spdlog>=1.11.0,<1.12 - python>=3.9,<3.11 @@ -76,6 +78,18 @@ dependencies: - wheel - setuptools>=61.0.0 specific: + - output_types: conda + matrices: + - matrix: + arch: x86_64 + packages: + - gcc_linux-64=11.* + - sysroot_linux-64==2.17 + - matrix: + arch: aarch64 + packages: + - gcc_linux-aarch64=11.* + - sysroot_linux-aarch64==2.17 - output_types: conda matrices: - matrix: From 47ce294d52be101498a721fa5c91c15e34a8d3d6 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 17 Jul 2023 11:14:40 -0700 Subject: [PATCH 03/56] fix tag for CUDA 12.0 --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 71e229a45..cb6e0a445 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -10,7 +10,7 @@ ARG PYTHON_PACKAGE_MANAGER=conda FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-${DISTRO} as pip-base -FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-mambaforge-${DISTRO} as conda-base +FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-mambaforge-${DISTRO} as conda-base FROM ${PYTHON_PACKAGE_MANAGER}-base From 236ca3e6fd2174985bb6f8db9de379c01d2791d3 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 17 Jul 2023 11:23:36 -0700 Subject: [PATCH 04/56] use CUDA 11.8 for now --- .devcontainer/Dockerfile | 4 ++-- .devcontainer/conda/devcontainer.json | 2 +- .devcontainer/conda/isolated/.devcontainer/devcontainer.json | 2 +- .devcontainer/conda/unified/.devcontainer/devcontainer.json | 2 +- .devcontainer/devcontainer.json | 2 +- .devcontainer/pip/devcontainer.json | 2 +- .devcontainer/pip/isolated/.devcontainer/devcontainer.json | 2 +- .devcontainer/pip/unified/.devcontainer/devcontainer.json | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index cb6e0a445..d076bd40f 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1.5 -ARG CUDA=12.0 +ARG CUDA=11.8 ARG LLVM=16 ARG RAPIDS=23.08 ARG DISTRO=ubuntu22.04 @@ -10,7 +10,7 @@ ARG PYTHON_PACKAGE_MANAGER=conda FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-${DISTRO} as pip-base -FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-mambaforge-${DISTRO} as conda-base +FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-mambaforge-${DISTRO} as conda-base FROM ${PYTHON_PACKAGE_MANAGER}-base diff --git a/.devcontainer/conda/devcontainer.json b/.devcontainer/conda/devcontainer.json index 1cc0e81ff..afbaf7318 100644 --- a/.devcontainer/conda/devcontainer.json +++ b/.devcontainer/conda/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "12.0", + "CUDA": "11.8", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "conda" } diff --git a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json index 2f611de37..2815e63dd 100644 --- a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "12.0", + "CUDA": "11.8", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "conda" } diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json index 3a4015fe6..53029104a 100644 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "12.0", + "CUDA": "11.8", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "conda" } diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 67fb66979..5cec68011 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "12.0", + "CUDA": "11.8", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "conda" } diff --git a/.devcontainer/pip/devcontainer.json b/.devcontainer/pip/devcontainer.json index 1eb21da16..5474bdcc3 100644 --- a/.devcontainer/pip/devcontainer.json +++ b/.devcontainer/pip/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "12.0", + "CUDA": "11.8", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "pip" } diff --git a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json index b65eb4487..015c93231 100644 --- a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "12.0", + "CUDA": "11.8", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "pip" } diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json index c19f599ca..e8d9953e6 100644 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "12.0", + "CUDA": "11.8", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "pip" } From 2c37e73c2bae004cf6042d0c68d5b06ea58f6d2f Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 18 Jul 2023 09:52:45 -0700 Subject: [PATCH 05/56] default to CUDA 12.0 --- .devcontainer/Dockerfile | 7 +++++-- .devcontainer/conda/devcontainer.json | 2 +- .../conda/isolated/.devcontainer/devcontainer.json | 2 +- .../conda/unified/.devcontainer/devcontainer.json | 2 +- .devcontainer/devcontainer.json | 2 +- .devcontainer/pip/devcontainer.json | 2 +- .devcontainer/pip/isolated/.devcontainer/devcontainer.json | 2 +- .devcontainer/pip/unified/.devcontainer/devcontainer.json | 2 +- 8 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index d076bd40f..f890c6706 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1.5 -ARG CUDA=11.8 +ARG CUDA=12.0 ARG LLVM=16 ARG RAPIDS=23.08 ARG DISTRO=ubuntu22.04 @@ -10,10 +10,13 @@ ARG PYTHON_PACKAGE_MANAGER=conda FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-${DISTRO} as pip-base -FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-mambaforge-${DISTRO} as conda-base +FROM ${REPO}:${RAPIDS}-cpp-mambaforge-${DISTRO} as conda-base FROM ${PYTHON_PACKAGE_MANAGER}-base +ARG CUDA +ENV CUDA_VERSION="${CUDA_VERSION:-${CUDA}}" + ARG PYTHON_PACKAGE_MANAGER ENV PYTHON_PACKAGE_MANAGER="${PYTHON_PACKAGE_MANAGER}" diff --git a/.devcontainer/conda/devcontainer.json b/.devcontainer/conda/devcontainer.json index afbaf7318..1cc0e81ff 100644 --- a/.devcontainer/conda/devcontainer.json +++ b/.devcontainer/conda/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "11.8", + "CUDA": "12.0", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "conda" } diff --git a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json index 2815e63dd..2f611de37 100644 --- a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "11.8", + "CUDA": "12.0", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "conda" } diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json index 53029104a..3a4015fe6 100644 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "11.8", + "CUDA": "12.0", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "conda" } diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 5cec68011..67fb66979 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "11.8", + "CUDA": "12.0", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "conda" } diff --git a/.devcontainer/pip/devcontainer.json b/.devcontainer/pip/devcontainer.json index 5474bdcc3..1eb21da16 100644 --- a/.devcontainer/pip/devcontainer.json +++ b/.devcontainer/pip/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "11.8", + "CUDA": "12.0", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "pip" } diff --git a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json index 015c93231..b65eb4487 100644 --- a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "11.8", + "CUDA": "12.0", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "pip" } diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json index e8d9953e6..c19f599ca 100644 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -5,7 +5,7 @@ "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { - "CUDA": "11.8", + "CUDA": "12.0", "LLVM": "16", "PYTHON_PACKAGE_MANAGER": "pip" } From 7db53864ce2055a3427a86aa525489beaa17f368 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 18 Jul 2023 16:12:00 -0700 Subject: [PATCH 06/56] update conda environments --- conda/environments/all_cuda-118_arch-x86_64.yaml | 4 ++++ conda/environments/all_cuda-120_arch-x86_64.yaml | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 36c3573d7..775aba8c1 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -4,12 +4,15 @@ channels: - rapidsai - conda-forge dependencies: +- c-compiler - cmake>=3.26.4 - cuda-python>=11.7.1,<12.0a0 - cuda-version=11.8 - cudatoolkit +- cxx-compiler - cython>=0.29,<0.30 - fmt>=9.1.0,<10 +- gcc_linux-64=11.* - gcovr>=5.0 - ninja - numba>=0.57 @@ -21,5 +24,6 @@ dependencies: - python>=3.9,<3.11 - scikit-build>=0.13.1 - spdlog>=1.11.0,<1.12 +- sysroot_linux-64==2.17 - tomli name: all_cuda-118_arch-x86_64 diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml index ebbdc7758..ae854e32f 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -4,12 +4,15 @@ channels: - rapidsai - conda-forge dependencies: +- c-compiler - cmake>=3.26.4 - cuda-nvcc - cuda-python>=12.0,<13.0a0 - cuda-version=12.0 +- cxx-compiler - cython>=0.29,<0.30 - fmt>=9.1.0,<10 +- gcc_linux-64=11.* - gcovr>=5.0 - ninja - numba>=0.57 @@ -20,5 +23,6 @@ dependencies: - python>=3.9,<3.11 - scikit-build>=0.13.1 - spdlog>=1.11.0,<1.12 +- sysroot_linux-64==2.17 - tomli name: all_cuda-120_arch-x86_64 From 73813ce394686ea23fe436838bd1ff1d19eae5b2 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 20 Jul 2023 16:07:47 -0700 Subject: [PATCH 07/56] build all RAPIDS archs to take maximum advantage of sccache --- .devcontainer/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index f890c6706..354fe1cf8 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -15,6 +15,7 @@ FROM ${REPO}:${RAPIDS}-cpp-mambaforge-${DISTRO} as conda-base FROM ${PYTHON_PACKAGE_MANAGER}-base ARG CUDA +ENV CUDAARCHS="RAPIDS" ENV CUDA_VERSION="${CUDA_VERSION:-${CUDA}}" ARG PYTHON_PACKAGE_MANAGER From 0e0d6bd54a528722a4638029249563859f74c554 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 20 Jul 2023 17:55:03 -0700 Subject: [PATCH 08/56] add compile_commands to .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 1ab57e4d4..f017f5c3c 100644 --- a/.gitignore +++ b/.gitignore @@ -153,3 +153,6 @@ rmm_log.txt # cibuildwheel /wheelhouse + +# clang tooling +compile_commands.json From ba8e1559cfb5a475f1143bae6cbaa8f2c0173374 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 20 Jul 2023 18:02:27 -0700 Subject: [PATCH 09/56] add clangd and nsight vscode customizations --- .devcontainer/conda/devcontainer.json | 43 ++++++++++++++++--- .../isolated/.devcontainer/devcontainer.json | 31 ++++++++++++- .../unified/.devcontainer/devcontainer.json | 31 ++++++++++++- .devcontainer/devcontainer.json | 31 ++++++++++++- .devcontainer/pip/devcontainer.json | 43 ++++++++++++++++--- .../isolated/.devcontainer/devcontainer.json | 31 ++++++++++++- .../unified/.devcontainer/devcontainer.json | 31 ++++++++++++- 7 files changed, 222 insertions(+), 19 deletions(-) diff --git a/.devcontainer/conda/devcontainer.json b/.devcontainer/conda/devcontainer.json index 1cc0e81ff..841df8838 100644 --- a/.devcontainer/conda/devcontainer.json +++ b/.devcontainer/conda/devcontainer.json @@ -14,13 +14,13 @@ "gpu": true }, -// "features": { -// "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} -// }, + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, -// "overrideFeatureInstallOrder": [ -// "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" -// ], + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], "initializeCommand": [ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" @@ -43,17 +43,46 @@ "customizations": { "vscode": { "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", "tamasfe.even-better-toml" ], "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", "files.trimFinalNewlines": true, "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, "**/target/**": true }, - "python.linting.flake8Enabled": true + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } } } } diff --git a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json index 2f611de37..fd46e0a73 100644 --- a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json @@ -46,17 +46,46 @@ "customizations": { "vscode": { "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", "tamasfe.even-better-toml" ], "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", "files.trimFinalNewlines": true, "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, "**/target/**": true }, - "python.linting.flake8Enabled": true + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } } } } diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json index 3a4015fe6..530e0324e 100644 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -45,17 +45,46 @@ "customizations": { "vscode": { "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", "tamasfe.even-better-toml" ], "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", "files.trimFinalNewlines": true, "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, "**/target/**": true }, - "python.linting.flake8Enabled": true + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } } } } diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 67fb66979..841df8838 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -43,17 +43,46 @@ "customizations": { "vscode": { "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", "tamasfe.even-better-toml" ], "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", "files.trimFinalNewlines": true, "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, "**/target/**": true }, - "python.linting.flake8Enabled": true + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } } } } diff --git a/.devcontainer/pip/devcontainer.json b/.devcontainer/pip/devcontainer.json index 1eb21da16..0246cbcb0 100644 --- a/.devcontainer/pip/devcontainer.json +++ b/.devcontainer/pip/devcontainer.json @@ -14,13 +14,13 @@ "gpu": true }, -// "features": { -// "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} -// }, + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, -// "overrideFeatureInstallOrder": [ -// "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" -// ], + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], "initializeCommand": [ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" @@ -44,17 +44,46 @@ "customizations": { "vscode": { "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", "tamasfe.even-better-toml" ], "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", "files.trimFinalNewlines": true, "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, "**/target/**": true }, - "python.linting.flake8Enabled": true + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } } } } diff --git a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json index b65eb4487..2254496bc 100644 --- a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json @@ -45,17 +45,46 @@ "customizations": { "vscode": { "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", "tamasfe.even-better-toml" ], "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", "files.trimFinalNewlines": true, "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, "**/target/**": true }, - "python.linting.flake8Enabled": true + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } } } } diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json index c19f599ca..0b93a62e7 100644 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -44,17 +44,46 @@ "customizations": { "vscode": { "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", "tamasfe.even-better-toml" ], "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", "files.trimFinalNewlines": true, "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, "**/target/**": true }, - "python.linting.flake8Enabled": true + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } } } } From 40e4e07aa7e0e25d73d1bde1aad9ee5354ee16df Mon Sep 17 00:00:00 2001 From: ptaylor Date: Fri, 21 Jul 2023 10:18:48 -0700 Subject: [PATCH 10/56] copy in default clangd config --- .devcontainer/Dockerfile | 2 ++ .devcontainer/conda/devcontainer.json | 6 ++++++ .../conda/isolated/.devcontainer/devcontainer.json | 2 +- .devcontainer/conda/unified/.devcontainer/devcontainer.json | 6 ++++++ .devcontainer/devcontainer.json | 6 ++++++ .devcontainer/pip/devcontainer.json | 6 ++++++ .devcontainer/pip/isolated/.devcontainer/devcontainer.json | 2 +- .devcontainer/pip/unified/.devcontainer/devcontainer.json | 6 ++++++ 8 files changed, 34 insertions(+), 2 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 354fe1cf8..29ba39052 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -14,6 +14,8 @@ FROM ${REPO}:${RAPIDS}-cpp-mambaforge-${DISTRO} as conda-base FROM ${PYTHON_PACKAGE_MANAGER}-base +COPY --from=pip-base /etc/skel/.config/clangd/config.yaml /etc/skel/.config/clangd/config.yaml + ARG CUDA ENV CUDAARCHS="RAPIDS" ENV CUDA_VERSION="${CUDA_VERSION:-${CUDA}}" diff --git a/.devcontainer/conda/devcontainer.json b/.devcontainer/conda/devcontainer.json index 841df8838..7b0865cf1 100644 --- a/.devcontainer/conda/devcontainer.json +++ b/.devcontainer/conda/devcontainer.json @@ -26,6 +26,12 @@ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" ], + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + "containerEnv": { "DEFAULT_CONDA_ENV": "rapids" }, diff --git a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json index fd46e0a73..4a153cf7c 100644 --- a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json @@ -27,7 +27,7 @@ ], "updateContentCommand": [ - "/bin/bash", "-c", "cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update" + "/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml && cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update" ], "containerEnv": { diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json index 530e0324e..8a7d839b2 100644 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -26,6 +26,12 @@ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/unified}" ], + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + "containerEnv": { "DEFAULT_CONDA_ENV": "rapids" }, diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 841df8838..7b0865cf1 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -26,6 +26,12 @@ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" ], + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + "containerEnv": { "DEFAULT_CONDA_ENV": "rapids" }, diff --git a/.devcontainer/pip/devcontainer.json b/.devcontainer/pip/devcontainer.json index 0246cbcb0..a93626950 100644 --- a/.devcontainer/pip/devcontainer.json +++ b/.devcontainer/pip/devcontainer.json @@ -26,6 +26,12 @@ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" ], + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + "containerEnv": { "PYTHONSAFEPATH": "true", "PYTHONUNBUFFERED": "true", diff --git a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json index 2254496bc..aaddf3559 100644 --- a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json @@ -27,7 +27,7 @@ ], "updateContentCommand": [ - "/bin/bash", "-c", "cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update" + "/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml && cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update" ], "containerEnv": { diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json index 0b93a62e7..9b9299ce7 100644 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -26,6 +26,12 @@ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/unified}" ], + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + "containerEnv": { "DEFAULT_VIRTUAL_ENV": "rapids" }, From 9670b100a74b8c50c6be207853ddac3938076bf0 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Fri, 21 Jul 2023 10:43:49 -0700 Subject: [PATCH 11/56] remove options for pip vs. conda unless using the launch script --- .devcontainer/Dockerfile | 4 +- .devcontainer/conda/devcontainer.json | 95 ------------------ .../single/.devcontainer/devcontainer.json | 96 +++++++++++++++++- .devcontainer/pip/devcontainer.json | 96 ------------------ .../single/.devcontainer/devcontainer.json | 97 ++++++++++++++++++- 5 files changed, 193 insertions(+), 195 deletions(-) delete mode 100644 .devcontainer/conda/devcontainer.json mode change 120000 => 100644 .devcontainer/conda/single/.devcontainer/devcontainer.json delete mode 100644 .devcontainer/pip/devcontainer.json mode change 120000 => 100644 .devcontainer/pip/single/.devcontainer/devcontainer.json diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 29ba39052..68194d0f9 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -12,10 +12,10 @@ FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-${DISTRO} as pip-base FROM ${REPO}:${RAPIDS}-cpp-mambaforge-${DISTRO} as conda-base -FROM ${PYTHON_PACKAGE_MANAGER}-base - COPY --from=pip-base /etc/skel/.config/clangd/config.yaml /etc/skel/.config/clangd/config.yaml +FROM ${PYTHON_PACKAGE_MANAGER}-base + ARG CUDA ENV CUDAARCHS="RAPIDS" ENV CUDA_VERSION="${CUDA_VERSION:-${CUDA}}" diff --git a/.devcontainer/conda/devcontainer.json b/.devcontainer/conda/devcontainer.json deleted file mode 100644 index 7b0865cf1..000000000 --- a/.devcontainer/conda/devcontainer.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "shutdownAction": "stopContainer", - - "build": { - "context": "${localWorkspaceFolder}/.devcontainer", - "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", - "args": { - "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "conda" - } - }, - "hostRequirements": { - "gpu": true - }, - - "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} - }, - - "overrideFeatureInstallOrder": [ - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" - ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" - ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "containerEnv": { - "DEFAULT_CONDA_ENV": "rapids" - }, - - "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", - "mounts": [ - "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}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent" - ], - - "customizations": { - "vscode": { - "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } - } - } -} diff --git a/.devcontainer/conda/single/.devcontainer/devcontainer.json b/.devcontainer/conda/single/.devcontainer/devcontainer.json deleted file mode 120000 index cec0647b2..000000000 --- a/.devcontainer/conda/single/.devcontainer/devcontainer.json +++ /dev/null @@ -1 +0,0 @@ -../../devcontainer.json \ No newline at end of file diff --git a/.devcontainer/conda/single/.devcontainer/devcontainer.json b/.devcontainer/conda/single/.devcontainer/devcontainer.json new file mode 100644 index 000000000..7b0865cf1 --- /dev/null +++ b/.devcontainer/conda/single/.devcontainer/devcontainer.json @@ -0,0 +1,95 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "conda" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" + ], + + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + + "containerEnv": { + "DEFAULT_CONDA_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", + "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", + "tamasfe.even-better-toml" + ], + "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, + "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/target/**": true + }, + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } + } + } + } +} diff --git a/.devcontainer/pip/devcontainer.json b/.devcontainer/pip/devcontainer.json deleted file mode 100644 index a93626950..000000000 --- a/.devcontainer/pip/devcontainer.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "shutdownAction": "stopContainer", - - "build": { - "context": "${localWorkspaceFolder}/.devcontainer", - "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", - "args": { - "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "pip" - } - }, - "hostRequirements": { - "gpu": true - }, - - "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} - }, - - "overrideFeatureInstallOrder": [ - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" - ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" - ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "containerEnv": { - "PYTHONSAFEPATH": "true", - "PYTHONUNBUFFERED": "true", - "DEFAULT_VIRTUAL_ENV": "rapids" - }, - - "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", - "mounts": [ - "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/${localWorkspaceFolderBasename}/single,target=/home/coder/.local,type=bind,consistency=consistent" - ], - - "customizations": { - "vscode": { - "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } - } - } -} diff --git a/.devcontainer/pip/single/.devcontainer/devcontainer.json b/.devcontainer/pip/single/.devcontainer/devcontainer.json deleted file mode 120000 index cec0647b2..000000000 --- a/.devcontainer/pip/single/.devcontainer/devcontainer.json +++ /dev/null @@ -1 +0,0 @@ -../../devcontainer.json \ No newline at end of file diff --git a/.devcontainer/pip/single/.devcontainer/devcontainer.json b/.devcontainer/pip/single/.devcontainer/devcontainer.json new file mode 100644 index 000000000..a93626950 --- /dev/null +++ b/.devcontainer/pip/single/.devcontainer/devcontainer.json @@ -0,0 +1,96 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "12.0", + "LLVM": "16", + "PYTHON_PACKAGE_MANAGER": "pip" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" + ], + + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + + "containerEnv": { + "PYTHONSAFEPATH": "true", + "PYTHONUNBUFFERED": "true", + "DEFAULT_VIRTUAL_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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/${localWorkspaceFolderBasename}/single,target=/home/coder/.local,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", + "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", + "tamasfe.even-better-toml" + ], + "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, + "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/target/**": true + }, + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } + } + } + } +} From 77306d6723246f7f89657c212871bdcad4df0186 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Fri, 21 Jul 2023 10:59:19 -0700 Subject: [PATCH 12/56] fix unified mounts --- .../conda/unified/.devcontainer/devcontainer.json | 11 ++++++++--- .../pip/unified/.devcontainer/devcontainer.json | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json index 8a7d839b2..a1f30f90f 100644 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -23,7 +23,7 @@ ], "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/unified}" + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/unified}" ], "updateContentCommand": [ @@ -39,13 +39,18 @@ "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", "mounts": [ - "source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,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}/../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-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/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}/unified,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + "source=${localWorkspaceFolder}/../.conda/unified,target=/home/coder/.conda/envs,type=bind,consistency=consistent" ], "customizations": { diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json index 9b9299ce7..40a1e8628 100644 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -23,7 +23,7 @@ ], "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/unified}" + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/unified}" ], "updateContentCommand": [ @@ -39,12 +39,17 @@ "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", "mounts": [ - "source=${localWorkspaceFolder}/../rmm,target=/home/coder/rmm,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}/../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-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", + "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/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/${localWorkspaceFolderBasename}/unified,target=/home/coder/.local,type=bind,consistency=consistent" + "source=${localWorkspaceFolder}/../.local/unified,target=/home/coder/.local,type=bind,consistency=consistent" ], "customizations": { From d0c1717389f763d5f0c766f499a7c1f359c61543 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Fri, 21 Jul 2023 11:53:26 -0700 Subject: [PATCH 13/56] define cxx and cuda standard for tests --- tests/CMakeLists.txt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 24e9d240d..36c3aa043 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,5 +1,5 @@ # ============================================================================= -# Copyright (c) 2018-2021, NVIDIA CORPORATION. +# Copyright (c) 2018-2023, 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 @@ -31,7 +31,11 @@ function(ConfigureTestInternal TEST_NAME) PROPERTIES POSITION_INDEPENDENT_CODE ON RUNTIME_OUTPUT_DIRECTORY "$" CUDA_ARCHITECTURES "${CMAKE_CUDA_ARCHITECTURES}" - INSTALL_RPATH "\$ORIGIN/../../../lib") + INSTALL_RPATH "\$ORIGIN/../../../lib" + CXX_STANDARD 17 + CXX_STANDARD_REQUIRED ON + CUDA_STANDARD 17 + CUDA_STANDARD_REQUIRED ON) target_compile_definitions(${TEST_NAME} PUBLIC "SPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_${RMM_LOGGING_LEVEL}") target_compile_options(${TEST_NAME} PUBLIC $<$:-Wall -Werror From 108c74e917e112f5ea1d3cc9b3ffa55357793ac1 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Fri, 21 Jul 2023 16:44:11 -0700 Subject: [PATCH 14/56] ensure dirs exist before mounting --- .devcontainer/conda/unified/.devcontainer/devcontainer.json | 2 +- .devcontainer/pip/unified/.devcontainer/devcontainer.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json index a1f30f90f..b461fdaaa 100644 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -23,7 +23,7 @@ ], "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/unified}" + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/unified} ${localWorkspaceFolder}/../{rmm,cudf,raft,cumlprims_mg,cuml,cugraph-ops,cugraph,cuspatial}" ], "updateContentCommand": [ diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json index 40a1e8628..f94abd11f 100644 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -23,7 +23,7 @@ ], "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/unified}" + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/unified} ${localWorkspaceFolder}/../{rmm,cudf,raft,cumlprims_mg,cuml,cugraph-ops,cugraph,cuspatial}" ], "updateContentCommand": [ From decf68e389b55892ce19584ae3571060552c8894 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 25 Jul 2023 18:31:34 -0700 Subject: [PATCH 15/56] add kvikio --- .devcontainer/conda/unified/.devcontainer/devcontainer.json | 3 ++- .devcontainer/pip/unified/.devcontainer/devcontainer.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json index b461fdaaa..d26d12ef0 100644 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -23,7 +23,7 @@ ], "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/unified} ${localWorkspaceFolder}/../{rmm,cudf,raft,cumlprims_mg,cuml,cugraph-ops,cugraph,cuspatial}" + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/unified} ${localWorkspaceFolder}/../{rmm,kvikio,cudf,raft,cumlprims_mg,cuml,cugraph-ops,cugraph,cuspatial}" ], "updateContentCommand": [ @@ -39,6 +39,7 @@ "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", "mounts": [ + "source=${localWorkspaceFolder}/../kvikio,target=/home/coder/kvikio,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}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json index f94abd11f..06d84392a 100644 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -23,7 +23,7 @@ ], "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/unified} ${localWorkspaceFolder}/../{rmm,cudf,raft,cumlprims_mg,cuml,cugraph-ops,cugraph,cuspatial}" + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/unified} ${localWorkspaceFolder}/../{rmm,kvikio,cudf,raft,cumlprims_mg,cuml,cugraph-ops,cugraph,cuspatial}" ], "updateContentCommand": [ @@ -39,6 +39,7 @@ "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", "mounts": [ + "source=${localWorkspaceFolder}/../kvikio,target=/home/coder/kvikio,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}/../cumlprims_mg,target=/home/coder/cumlprims_mg,type=bind,consistency=consistent", From eecb891da80b83a238e54636b414af28d0a8d29c Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 31 Jul 2023 14:40:46 -0700 Subject: [PATCH 16/56] use volumes for isolated devcontainer source dirs --- .devcontainer/conda/isolated/.devcontainer/devcontainer.json | 5 +++-- .devcontainer/pip/isolated/.devcontainer/devcontainer.json | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json index 4a153cf7c..e55b955e4 100644 --- a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json @@ -27,7 +27,7 @@ ], "updateContentCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml && cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update" + "/bin/bash", "-c", "sudo chown -R $(id -u):$(id -g) /home/coder/${localWorkspaceFolderBasename} && mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml && cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/ && rapids-make-vscode-workspace --update" ], "containerEnv": { @@ -40,7 +40,8 @@ "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/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent", + "source=${localWorkspaceFolderBasename}-conda-isolated-${devcontainerId},target=/home/coder/${localWorkspaceFolderBasename},type=volume" ], "customizations": { diff --git a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json index aaddf3559..f1b0e9d6a 100644 --- a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json @@ -27,7 +27,7 @@ ], "updateContentCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml && cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/${localWorkspaceFolderBasename} && rapids-make-vscode-workspace --update" + "/bin/bash", "-c", "sudo chown -R $(id -u):$(id -g) /home/coder/${localWorkspaceFolderBasename} && mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml && cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/ && rapids-make-vscode-workspace --update" ], "containerEnv": { @@ -39,7 +39,8 @@ "mounts": [ "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}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", + "source=${localWorkspaceFolderBasename}-pip-isolated-${devcontainerId},target=/home/coder/${localWorkspaceFolderBasename},type=volume" ], "customizations": { From 9f88c955e0c644d03c0837d9f646d0bdae18df09 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 31 Jul 2023 14:57:14 -0700 Subject: [PATCH 17/56] update README.md --- .devcontainer/README.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 2574ffcf1..769c8ef2d 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -87,11 +87,18 @@ $ .devcontainer/launch.sh unified pip #### Isolated mode -`.devcontainer/launch.sh isolated` launches the devcontainer without the deps/repo bind mounts, and instead contains a unique copy of the `rmm` source in the container's file system. +`.devcontainer/launch.sh isolated` launches the devcontainer without the deps/repo bind mounts, and instead contains a unique copy of the `rmm` source in a Docker [volume](https://docs.docker.com/storage/volumes/). Use this mode to launch multiple isolated development containers that can be checked out to separate branches of `rmm`. -**Be sure to push any commits you want to persist. Once this container is removed, any unpushed changes will be lost!** +The Docker volume persists after the devcontainer is removed, ensuring you don't pending lose work by accidentally removing the devcontainer. + +However, you will need to manually remove the volume once you've committed and pushed your changes: + +* Use the [`docker volume ls`](https://docs.docker.com/engine/reference/commandline/volume_ls/) command to list all volumes +* Use [`docker volume rm`](https://docs.docker.com/engine/reference/commandline/volume_rm/) or [`docker volume prune`](https://docs.docker.com/engine/reference/commandline/volume_prune/) to clean up unused volumes + +Alternatively, use the "Dev Volumes" tab of the VSCode Dev Containers extension to view and remove unused volumes. Examples: ```bash From 53c7cd39934d13064a5b827b5992ad0c47300300 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Wed, 2 Aug 2023 09:19:12 -0700 Subject: [PATCH 18/56] update to rapidsai/devcontainers 23.10 --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 68194d0f9..cd8c98f60 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -2,7 +2,7 @@ ARG CUDA=12.0 ARG LLVM=16 -ARG RAPIDS=23.08 +ARG RAPIDS=23.10 ARG DISTRO=ubuntu22.04 ARG REPO=rapidsai/devcontainers From 885fb08eed831f472b6cb7413c838e868a500c96 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Wed, 2 Aug 2023 15:18:02 -0700 Subject: [PATCH 19/56] update rapids-build-utils version to 23.10 --- .devcontainer/conda/isolated/.devcontainer/devcontainer.json | 2 +- .devcontainer/conda/single/.devcontainer/devcontainer.json | 2 +- .devcontainer/conda/unified/.devcontainer/devcontainer.json | 2 +- .devcontainer/devcontainer.json | 2 +- .devcontainer/pip/isolated/.devcontainer/devcontainer.json | 2 +- .devcontainer/pip/single/.devcontainer/devcontainer.json | 2 +- .devcontainer/pip/unified/.devcontainer/devcontainer.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json index e55b955e4..ff79fd7c8 100644 --- a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json @@ -15,7 +15,7 @@ }, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, "overrideFeatureInstallOrder": [ diff --git a/.devcontainer/conda/single/.devcontainer/devcontainer.json b/.devcontainer/conda/single/.devcontainer/devcontainer.json index 7b0865cf1..e6f25406f 100644 --- a/.devcontainer/conda/single/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/single/.devcontainer/devcontainer.json @@ -15,7 +15,7 @@ }, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, "overrideFeatureInstallOrder": [ diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json index d26d12ef0..d1993c594 100644 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/conda/unified/.devcontainer/devcontainer.json @@ -15,7 +15,7 @@ }, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, "overrideFeatureInstallOrder": [ diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 7b0865cf1..e6f25406f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -15,7 +15,7 @@ }, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, "overrideFeatureInstallOrder": [ diff --git a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json index f1b0e9d6a..92c62c639 100644 --- a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json @@ -15,7 +15,7 @@ }, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, "overrideFeatureInstallOrder": [ diff --git a/.devcontainer/pip/single/.devcontainer/devcontainer.json b/.devcontainer/pip/single/.devcontainer/devcontainer.json index a93626950..1947da0c3 100644 --- a/.devcontainer/pip/single/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/single/.devcontainer/devcontainer.json @@ -15,7 +15,7 @@ }, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, "overrideFeatureInstallOrder": [ diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json index 06d84392a..99692c054 100644 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ b/.devcontainer/pip/unified/.devcontainer/devcontainer.json @@ -15,7 +15,7 @@ }, "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.8": {} + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, "overrideFeatureInstallOrder": [ From e7b1bf460619ff2ee58b38b5d77fb413da01d66a Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 3 Aug 2023 17:32:10 +0000 Subject: [PATCH 20/56] update RAPIDS versions in devcontainer files --- ci/release/update-version.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 42378a2fe..9b48fb058 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -55,3 +55,7 @@ for FILE in .github/workflows/*.yaml; do sed_runner "/shared-action-workflows/ s/@.*/@branch-${NEXT_SHORT_TAG}/g" "${FILE}" done sed_runner "s/RAPIDS_VERSION_NUMBER=\".*/RAPIDS_VERSION_NUMBER=\"${NEXT_SHORT_TAG}\"/g" ci/build_docs.sh + +# .devcontainer files +sed_runner "s/ARG RAPIDS=${CURRENT_SHORT_TAG}/ARG RAPIDS=${NEXT_SHORT_TAG}/g" .devcontainer/Dockerfile +find .devcontainer/ -type f -name devcontainer.json -exec sed -i "s/${CURRENT_SHORT_TAG}/${NEXT_SHORT_TAG}/g" {} \; From 490b95ca8929f00651ebbde9b0260ccddf210be9 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 3 Aug 2023 19:33:04 +0000 Subject: [PATCH 21/56] add .clangd config file and add clang and clang-tools 16 --- .clangd | 65 +++++++++++++++++++++++++++++++++++++++++++++++ .gitignore | 1 + dependencies.yaml | 4 +++ 3 files changed, 70 insertions(+) create mode 100644 .clangd diff --git a/.clangd b/.clangd new file mode 100644 index 000000000..7c4fe036d --- /dev/null +++ b/.clangd @@ -0,0 +1,65 @@ +# https://clangd.llvm.org/config + +# Apply a config conditionally to all C files +If: + PathMatch: .*\.(c|h)$ + +--- + +# Apply a config conditionally to all C++ files +If: + PathMatch: .*\.(c|h)pp + +--- + +# Apply a config conditionally to all CUDA files +If: + PathMatch: .*\.cuh? +CompileFlags: + Add: + - "-x" + - "cuda" + # No error on unknown CUDA versions + - "-Wno-unknown-cuda-version" + # Allow variadic CUDA functions + - "-Xclang=-fcuda-allow-variadic-functions" +Diagnostics: + Suppress: + - "variadic_device_fn" + - "attributes_not_allowed" + +--- + +# Tweak the clangd parse settings for all files +CompileFlags: + Add: + # report all errors + - "-ferror-limit=0" + - "-fmacro-backtrace-limit=0" + - "-ftemplate-backtrace-limit=0" + # Skip the CUDA version check + - "--no-cuda-version-check" + Remove: + # remove gcc's -fcoroutines + - -fcoroutines + # remove nvc++ flags unknown to clang + - "-gpu=*" + - "-stdpar*" + # remove nvcc flags unknown to clang + - "-arch*" + - "-gencode*" + - "--generate-code*" + - "-ccbin*" + - "-t=*" + - "--threads*" + - "-Xptxas*" + - "-Xcudafe*" + - "-Xfatbin*" + - "-Xcompiler*" + - "--diag-suppress*" + - "--diag_suppress*" + - "--compiler-options*" + - "--expt-extended-lambda" + - "--expt-relaxed-constexpr" + - "-forward-unknown-to-host-compiler" + - "-Werror=cross-execution-space-call" diff --git a/.gitignore b/.gitignore index f017f5c3c..1c5d46099 100644 --- a/.gitignore +++ b/.gitignore @@ -156,3 +156,4 @@ rmm_log.txt # clang tooling compile_commands.json +.clangd/ diff --git a/dependencies.yaml b/dependencies.yaml index 8dc579730..3663a8e4f 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -162,6 +162,10 @@ dependencies: - output_types: [conda, requirements] packages: - gcovr>=5.0 + - output_types: conda + packages: + - clang=16.0.1 + - clang-tools=16.0.1 docs: common: - output_types: [conda] From 6890e87986083d2ed30adec3ed30bd19c72f39a8 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 14 Aug 2023 11:49:13 -0700 Subject: [PATCH 22/56] remove isolated and unified devcontainers, make single the default --- .devcontainer/README.md | 75 ------------- .../.devcontainer => }/devcontainer.json | 0 .../isolated/.devcontainer/devcontainer.json | 93 ---------------- .../unified/.devcontainer/devcontainer.json | 103 ------------------ .devcontainer/devcontainer.json | 95 ---------------- .devcontainer/launch.sh | 52 --------- .../.devcontainer => }/devcontainer.json | 0 .../isolated/.devcontainer/devcontainer.json | 92 ---------------- .../unified/.devcontainer/devcontainer.json | 102 ----------------- 9 files changed, 612 deletions(-) rename .devcontainer/conda/{single/.devcontainer => }/devcontainer.json (100%) delete mode 100644 .devcontainer/conda/isolated/.devcontainer/devcontainer.json delete mode 100644 .devcontainer/conda/unified/.devcontainer/devcontainer.json delete mode 100644 .devcontainer/devcontainer.json delete mode 100755 .devcontainer/launch.sh rename .devcontainer/pip/{single/.devcontainer => }/devcontainer.json (100%) delete mode 100644 .devcontainer/pip/isolated/.devcontainer/devcontainer.json delete mode 100644 .devcontainer/pip/unified/.devcontainer/devcontainer.json diff --git a/.devcontainer/README.md b/.devcontainer/README.md index 769c8ef2d..31ddab9aa 100644 --- a/.devcontainer/README.md +++ b/.devcontainer/README.md @@ -9,11 +9,6 @@ This container is a turnkey development environment for building and testing the * [Prerequisites](#prerequisites) * [Host bind mounts](#host-bind-mounts) * [Launch a Dev Container](#launch-a-dev-container) - * [via VSCode](#via-vscode) - * [via `launch.sh`](#via-launchsh) - * [Single mode](#single-mode) - * [Unified mode](#unified-mode) - * [Isolated mode](#isolated-mode) ## Prerequisites @@ -35,76 +30,6 @@ This ensures caches, configurations, dependencies, and your commits are persiste ## Launch a Dev Container -A devcontainer can be launched directly by VSCode, or via a custom `launch.sh` shell script. - -### via VSCode - To launch a devcontainer from VSCode, open the RMM repo and select the "Reopen in Container" button in the bottom right:
Alternatively, open the VSCode command palette (typically `cmd/ctrl + shift + P`) and run the "Rebuild and Reopen in Container" command. - -### via `launch.sh` - -Use the `.devcontainer/launch.sh` script to start a new instance of the development container and launch a fresh VSCode window connected to it. - -VSCode extends its [single-window-per-folder](https://github.com/microsoft/vscode/issues/2686) process model to devcontainers. Opening the same devcontainer in separate windows doesn't create two separate containers -- instead you have two VSCode windows each connected to the same running container. - -`launch.sh` takes two arguments, a `mode` and a `package manager`. - -* The `mode` argument determines how the devcontainer interacts with the files on the host. -* The `package manager` argument can be either `conda`, or `pip`. This determines whether the devcontainer uses `conda` or `pip` to install the dependencies (the default is `conda`). `pip` is experimental/not working for normal dev, and is currently meant to aid in pip packaging work. - -#### Single mode - -`.devcontainer/launch.sh single` launches the devcontainer with the [default bind mounts](#host-bind-mounts). RMM and cuDF are installed via the package manager. - -Example: -```bash -# Launch a devcontainer that only mounts rmm and installs dependencies via conda -$ .devcontainer/launch.sh single conda - -# or installs dependencies via pip -$ .devcontainer/launch.sh single pip -``` - -#### Unified mode - -`.devcontainer/launch.sh unified` launches the devcontainer with the [default bind mounts](#host-bind-mounts), as well as additional `rmm` and `cudf` bind mounts (assumes RMM and cuDF are siblings to the rmm repository): - -* `${repo}/../.rmm:/home/coder/rmm` -* `${repo}/../.cudf:/home/coder/cudf` - -In this mode, RMM and cuDF will not be installed, but the devcontainer will install the dependencies necessary to build all three. - -Example: -```bash -# Launch a devcontainer that mounts rmm, cudf, and rmm from the host and installs dependencies via conda -$ .devcontainer/launch.sh unified conda - -# or installs dependencies via pip -$ .devcontainer/launch.sh unified pip -``` - -#### Isolated mode - -`.devcontainer/launch.sh isolated` launches the devcontainer without the deps/repo bind mounts, and instead contains a unique copy of the `rmm` source in a Docker [volume](https://docs.docker.com/storage/volumes/). - -Use this mode to launch multiple isolated development containers that can be checked out to separate branches of `rmm`. - -The Docker volume persists after the devcontainer is removed, ensuring you don't pending lose work by accidentally removing the devcontainer. - -However, you will need to manually remove the volume once you've committed and pushed your changes: - -* Use the [`docker volume ls`](https://docs.docker.com/engine/reference/commandline/volume_ls/) command to list all volumes -* Use [`docker volume rm`](https://docs.docker.com/engine/reference/commandline/volume_rm/) or [`docker volume prune`](https://docs.docker.com/engine/reference/commandline/volume_prune/) to clean up unused volumes - -Alternatively, use the "Dev Volumes" tab of the VSCode Dev Containers extension to view and remove unused volumes. - -Examples: -```bash -# Launch a devcontainer that is isolated from changes on the host and installs dependencies via conda -$ .devcontainer/launch.sh isolated conda - -# or installs dependencies via pip -$ .devcontainer/launch.sh isolated pip -``` diff --git a/.devcontainer/conda/single/.devcontainer/devcontainer.json b/.devcontainer/conda/devcontainer.json similarity index 100% rename from .devcontainer/conda/single/.devcontainer/devcontainer.json rename to .devcontainer/conda/devcontainer.json diff --git a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json b/.devcontainer/conda/isolated/.devcontainer/devcontainer.json deleted file mode 100644 index ff79fd7c8..000000000 --- a/.devcontainer/conda/isolated/.devcontainer/devcontainer.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "shutdownAction": "stopContainer", - - "build": { - "context": "${localWorkspaceFolder}/.devcontainer", - "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", - "args": { - "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "conda" - } - }, - "hostRequirements": { - "gpu": true - }, - - "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} - }, - - "overrideFeatureInstallOrder": [ - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" - ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs}" - ], - - "updateContentCommand": [ - "/bin/bash", "-c", "sudo chown -R $(id -u):$(id -g) /home/coder/${localWorkspaceFolderBasename} && mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml && cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/ && rapids-make-vscode-workspace --update" - ], - - "containerEnv": { - "DEFAULT_CONDA_ENV": "rapids" - }, - - "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=consistent", - "mounts": [ - "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=${localWorkspaceFolderBasename}-conda-isolated-${devcontainerId},target=/home/coder/${localWorkspaceFolderBasename},type=volume" - ], - - "customizations": { - "vscode": { - "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } - } - } -} diff --git a/.devcontainer/conda/unified/.devcontainer/devcontainer.json b/.devcontainer/conda/unified/.devcontainer/devcontainer.json deleted file mode 100644 index d1993c594..000000000 --- a/.devcontainer/conda/unified/.devcontainer/devcontainer.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "shutdownAction": "stopContainer", - - "build": { - "context": "${localWorkspaceFolder}/.devcontainer", - "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", - "args": { - "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "conda" - } - }, - "hostRequirements": { - "gpu": true - }, - - "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} - }, - - "overrideFeatureInstallOrder": [ - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" - ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/unified} ${localWorkspaceFolder}/../{rmm,kvikio,cudf,raft,cumlprims_mg,cuml,cugraph-ops,cugraph,cuspatial}" - ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "containerEnv": { - "DEFAULT_CONDA_ENV": "rapids" - }, - - "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", - "mounts": [ - "source=${localWorkspaceFolder}/../kvikio,target=/home/coder/kvikio,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}/../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-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/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/unified,target=/home/coder/.conda/envs,type=bind,consistency=consistent" - ], - - "customizations": { - "vscode": { - "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } - } - } -} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index e6f25406f..000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "shutdownAction": "stopContainer", - - "build": { - "context": "${localWorkspaceFolder}/.devcontainer", - "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", - "args": { - "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "conda" - } - }, - "hostRequirements": { - "gpu": true - }, - - "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} - }, - - "overrideFeatureInstallOrder": [ - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" - ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" - ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "containerEnv": { - "DEFAULT_CONDA_ENV": "rapids" - }, - - "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", - "mounts": [ - "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}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent" - ], - - "customizations": { - "vscode": { - "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } - } - } -} diff --git a/.devcontainer/launch.sh b/.devcontainer/launch.sh deleted file mode 100755 index 60bc3e38a..000000000 --- a/.devcontainer/launch.sh +++ /dev/null @@ -1,52 +0,0 @@ -#! /usr/bin/env bash - -launch_devcontainer() { - - # Ensure we're in the repo root - cd "$( cd "$( dirname "$(realpath -m "${BASH_SOURCE[0]}")" )" && pwd )/.."; - - local mode="${1:-single}"; - local pkgs="${2:-conda}"; - - case "${pkgs}" in - pip ) ;; - conda ) ;; - * ) pkgs="conda";; - esac - - case "${mode}" in - single ) ;; - unified ) ;; - isolated) ;; - * ) mode="single";; - esac - - local flavor="${pkgs}/${mode}"; - local workspace="$(basename "$(pwd)")"; - local tmpdir="$(mktemp -d)/${workspace}"; - local path="$(pwd)/.devcontainer/${flavor}"; - - mkdir -p "${tmpdir}"; - cp -arL "$path/.devcontainer" "${tmpdir}/"; - sed -i "s@\${localWorkspaceFolder}@$(pwd)@g" "${tmpdir}/.devcontainer/devcontainer.json"; - path="${tmpdir}"; - - local hash="$(echo -n "${path}" | xxd -pu - | tr -d '[:space:]')"; - local url="vscode://vscode-remote/dev-container+${hash}/home/coder"; - - echo "devcontainer URL: ${url}"; - - local launch=""; - if type open >/dev/null 2>&1; then - launch="open"; - elif type xdg-open >/dev/null 2>&1; then - launch="xdg-open"; - fi - - if [ -n "${launch}" ]; then - code --new-window "${tmpdir}"; - exec "${launch}" "${url}" >/dev/null 2>&1; - fi -} - -launch_devcontainer "$@"; diff --git a/.devcontainer/pip/single/.devcontainer/devcontainer.json b/.devcontainer/pip/devcontainer.json similarity index 100% rename from .devcontainer/pip/single/.devcontainer/devcontainer.json rename to .devcontainer/pip/devcontainer.json diff --git a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json b/.devcontainer/pip/isolated/.devcontainer/devcontainer.json deleted file mode 100644 index 92c62c639..000000000 --- a/.devcontainer/pip/isolated/.devcontainer/devcontainer.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "shutdownAction": "stopContainer", - - "build": { - "context": "${localWorkspaceFolder}/.devcontainer", - "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", - "args": { - "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "pip" - } - }, - "hostRequirements": { - "gpu": true - }, - - "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} - }, - - "overrideFeatureInstallOrder": [ - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" - ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip}" - ], - - "updateContentCommand": [ - "/bin/bash", "-c", "sudo chown -R $(id -u):$(id -g) /home/coder/${localWorkspaceFolderBasename} && mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml && cp -ar /workspaces/${localWorkspaceFolderBasename} /home/coder/ && rapids-make-vscode-workspace --update" - ], - - "containerEnv": { - "DEFAULT_VIRTUAL_ENV": "rapids" - }, - - "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=consistent", - "mounts": [ - "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=${localWorkspaceFolderBasename}-pip-isolated-${devcontainerId},target=/home/coder/${localWorkspaceFolderBasename},type=volume" - ], - - "customizations": { - "vscode": { - "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } - } - } -} diff --git a/.devcontainer/pip/unified/.devcontainer/devcontainer.json b/.devcontainer/pip/unified/.devcontainer/devcontainer.json deleted file mode 100644 index 99692c054..000000000 --- a/.devcontainer/pip/unified/.devcontainer/devcontainer.json +++ /dev/null @@ -1,102 +0,0 @@ -{ - "shutdownAction": "stopContainer", - - "build": { - "context": "${localWorkspaceFolder}/.devcontainer", - "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", - "args": { - "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "pip" - } - }, - "hostRequirements": { - "gpu": true - }, - - "features": { - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} - }, - - "overrideFeatureInstallOrder": [ - "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" - ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/unified} ${localWorkspaceFolder}/../{rmm,kvikio,cudf,raft,cumlprims_mg,cuml,cugraph-ops,cugraph,cuspatial}" - ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "containerEnv": { - "DEFAULT_VIRTUAL_ENV": "rapids" - }, - - "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", - "mounts": [ - "source=${localWorkspaceFolder}/../kvikio,target=/home/coder/kvikio,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}/../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-ops,target=/home/coder/cugraph-ops,type=bind,consistency=consistent", - "source=${localWorkspaceFolder}/../cugraph,target=/home/coder/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/unified,target=/home/coder/.local,type=bind,consistency=consistent" - ], - - "customizations": { - "vscode": { - "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } - } - } -} From 61913f082e2f799d89be99af623cff096da29da6 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 14 Aug 2023 14:00:06 -0700 Subject: [PATCH 23/56] separate CUDA 11.8 and 12.0 devcontainers --- .devcontainer/Dockerfile | 11 +-- .../cuda11.8-conda/devcontainer.json | 96 ++++++++++++++++++ .devcontainer/cuda11.8-pip/devcontainer.json | 97 +++++++++++++++++++ .../devcontainer.json | 5 +- .../{pip => cuda12.0-pip}/devcontainer.json | 5 +- 5 files changed, 203 insertions(+), 11 deletions(-) create mode 100644 .devcontainer/cuda11.8-conda/devcontainer.json create mode 100644 .devcontainer/cuda11.8-pip/devcontainer.json rename .devcontainer/{conda => cuda12.0-conda}/devcontainer.json (93%) rename .devcontainer/{pip => cuda12.0-pip}/devcontainer.json (93%) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index cd8c98f60..2e00fb6b7 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,16 +1,13 @@ # syntax=docker/dockerfile:1.5 -ARG CUDA=12.0 -ARG LLVM=16 -ARG RAPIDS=23.10 -ARG DISTRO=ubuntu22.04 -ARG REPO=rapidsai/devcontainers +ARG PIP_BASE +ARG CONDA_BASE ARG PYTHON_PACKAGE_MANAGER=conda -FROM ${REPO}:${RAPIDS}-cpp-llvm${LLVM}-cuda${CUDA}-${DISTRO} as pip-base +FROM ${PIP_BASE} as pip-base -FROM ${REPO}:${RAPIDS}-cpp-mambaforge-${DISTRO} as conda-base +FROM ${CONDA_BASE} as conda-base COPY --from=pip-base /etc/skel/.config/clangd/config.yaml /etc/skel/.config/clangd/config.yaml diff --git a/.devcontainer/cuda11.8-conda/devcontainer.json b/.devcontainer/cuda11.8-conda/devcontainer.json new file mode 100644 index 000000000..ebae60975 --- /dev/null +++ b/.devcontainer/cuda11.8-conda/devcontainer.json @@ -0,0 +1,96 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "11.8", + "PYTHON_PACKAGE_MANAGER": "conda", + "CONDA_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04", + "PIP_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-ubuntu22.04" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" + ], + + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + + "containerEnv": { + "DEFAULT_CONDA_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", + "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", + "tamasfe.even-better-toml" + ], + "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, + "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/target/**": true + }, + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } + } + } + } +} diff --git a/.devcontainer/cuda11.8-pip/devcontainer.json b/.devcontainer/cuda11.8-pip/devcontainer.json new file mode 100644 index 000000000..9c4a097e0 --- /dev/null +++ b/.devcontainer/cuda11.8-pip/devcontainer.json @@ -0,0 +1,97 @@ +{ + "shutdownAction": "stopContainer", + + "build": { + "context": "${localWorkspaceFolder}/.devcontainer", + "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", + "args": { + "CUDA": "11.8", + "PYTHON_PACKAGE_MANAGER": "pip", + "CONDA_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04", + "PIP_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-ubuntu22.04" + } + }, + "hostRequirements": { + "gpu": true + }, + + "features": { + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} + }, + + "overrideFeatureInstallOrder": [ + "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" + ], + + "initializeCommand": [ + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" + ], + + "updateContentCommand": [ + "/bin/bash", + "-c", + "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" + ], + + "containerEnv": { + "PYTHONSAFEPATH": "true", + "PYTHONUNBUFFERED": "true", + "DEFAULT_VIRTUAL_ENV": "rapids" + }, + + "workspaceFolder": "/home/coder", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "mounts": [ + "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/${localWorkspaceFolderBasename}/single,target=/home/coder/.local,type=bind,consistency=consistent" + ], + + "customizations": { + "vscode": { + "extensions": [ + "llvm-vs-code-extensions.vscode-clangd", + "mutantdino.resourcemonitor", + "ms-vscode.cpptools", + "nvidia.nsight-vscode-edition", + "seaube.clangformat", + "tamasfe.even-better-toml" + ], + "settings": { + "C_Cpp.vcpkg.enabled": false, + "C_Cpp.formatting": "disabled", + "C_Cpp.autocomplete": "disabled", + "C_Cpp.errorSquiggles": "disabled", + "C_Cpp.intelliSenseEngine": "disabled", + "C_Cpp.configurationWarnings": "disabled", + "C_Cpp.autoAddFileAssociations": false, + "clang-format.fallbackStyle": "none", + "files.trimFinalNewlines": true, + "files.insertFinalNewline": true, + "files.trimTrailingWhitespace": true, + "files.associations": { + "*.cu": "cuda-cpp", + "*.cuh": "cuda-cpp", + "**/libcudacxx/include/**/*": "cpp", + "**/libcudacxx-src/include/**/*": "cpp" + }, + "files.watcherExclude": { + "**/build/**": true, + "**/_skbuild/**": true, + "**/target/**": true + }, + "python.linting.flake8Enabled": true, + "[c]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + }, + "[cuda-cpp]": { + "editor.defaultFormatter": "seaube.clangformat" + } + } + } + } +} diff --git a/.devcontainer/conda/devcontainer.json b/.devcontainer/cuda12.0-conda/devcontainer.json similarity index 93% rename from .devcontainer/conda/devcontainer.json rename to .devcontainer/cuda12.0-conda/devcontainer.json index e6f25406f..f0a41fe2e 100644 --- a/.devcontainer/conda/devcontainer.json +++ b/.devcontainer/cuda12.0-conda/devcontainer.json @@ -6,8 +6,9 @@ "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "conda" + "PYTHON_PACKAGE_MANAGER": "conda", + "CONDA_BASE": "rapidsai/devcontainers:23.10-cpp-mambaforge-ubuntu22.04", + "PIP_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda12.0-ubuntu22.04" } }, "hostRequirements": { diff --git a/.devcontainer/pip/devcontainer.json b/.devcontainer/cuda12.0-pip/devcontainer.json similarity index 93% rename from .devcontainer/pip/devcontainer.json rename to .devcontainer/cuda12.0-pip/devcontainer.json index 1947da0c3..c9f7e41f4 100644 --- a/.devcontainer/pip/devcontainer.json +++ b/.devcontainer/cuda12.0-pip/devcontainer.json @@ -6,8 +6,9 @@ "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", "args": { "CUDA": "12.0", - "LLVM": "16", - "PYTHON_PACKAGE_MANAGER": "pip" + "PYTHON_PACKAGE_MANAGER": "pip", + "CONDA_BASE": "rapidsai/devcontainers:23.10-cpp-mambaforge-ubuntu22.04", + "PIP_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda12.0-ubuntu22.04" } }, "hostRequirements": { From 8a20231fc0d94f14a3aea1b62248b917c0946240 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Mon, 14 Aug 2023 21:50:34 +0000 Subject: [PATCH 24/56] update conda envs --- conda/environments/all_cuda-118_arch-x86_64.yaml | 2 ++ conda/environments/all_cuda-120_arch-x86_64.yaml | 2 ++ dependencies.yaml | 4 ++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 00e04a174..61435455e 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -5,6 +5,8 @@ channels: - conda-forge dependencies: - c-compiler +- clang-tools==16.0.1 +- clang==16.0.1 - cmake>=3.26.4 - cuda-python>=11.7.1,<12.0a0 - 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 86c090043..bbd60d575 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -5,6 +5,8 @@ channels: - conda-forge dependencies: - c-compiler +- clang-tools==16.0.1 +- clang==16.0.1 - cmake>=3.26.4 - cuda-nvcc - cuda-python>=12.0,<13.0a0 diff --git a/dependencies.yaml b/dependencies.yaml index df50b45c2..e3ca206f7 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -165,8 +165,8 @@ dependencies: - gcovr>=5.0 - output_types: conda packages: - - clang=16.0.1 - - clang-tools=16.0.1 + - clang==16.0.1 + - clang-tools==16.0.1 docs: common: - output_types: [conda] From e6261bf6bad3c85a3d1a0e4c9a095720e6cb182d Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 17 Aug 2023 02:44:27 -0700 Subject: [PATCH 25/56] clean up envvars, mounts, and build args, add codespaces post-attach command workaround --- .devcontainer/Dockerfile | 12 ++++++------ .devcontainer/cuda11.8-conda/devcontainer.json | 17 +++++++++-------- .devcontainer/cuda11.8-pip/devcontainer.json | 15 +++++++-------- .devcontainer/cuda12.0-conda/devcontainer.json | 17 +++++++++-------- .devcontainer/cuda12.0-pip/devcontainer.json | 15 +++++++-------- 5 files changed, 38 insertions(+), 38 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 2e00fb6b7..9d35e3f97 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,15 +1,15 @@ # syntax=docker/dockerfile:1.5 -ARG PIP_BASE -ARG CONDA_BASE - +ARG BASE ARG PYTHON_PACKAGE_MANAGER=conda -FROM ${PIP_BASE} as pip-base +FROM ${BASE} as pip-base + +ENV DEFAULT_VIRTUAL_ENV=rapids -FROM ${CONDA_BASE} as conda-base +FROM ${BASE} as conda-base -COPY --from=pip-base /etc/skel/.config/clangd/config.yaml /etc/skel/.config/clangd/config.yaml +ENV DEFAULT_CONDA_ENV=rapids FROM ${PYTHON_PACKAGE_MANAGER}-base diff --git a/.devcontainer/cuda11.8-conda/devcontainer.json b/.devcontainer/cuda11.8-conda/devcontainer.json index ebae60975..b6200811b 100644 --- a/.devcontainer/cuda11.8-conda/devcontainer.json +++ b/.devcontainer/cuda11.8-conda/devcontainer.json @@ -7,8 +7,7 @@ "args": { "CUDA": "11.8", "PYTHON_PACKAGE_MANAGER": "conda", - "CONDA_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04", - "PIP_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-ubuntu22.04" + "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04" } }, "hostRequirements": { @@ -24,7 +23,7 @@ ], "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}}" ], "updateContentCommand": [ @@ -33,18 +32,20 @@ "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" ], - "containerEnv": { - "DEFAULT_CONDA_ENV": "rapids" - }, + "postAttachCommand": [ + "/bin/bash", + "-c", + "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi" + ], "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", "mounts": [ "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}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename},target=/home/coder/.conda/envs,type=bind,consistency=consistent" ], "customizations": { diff --git a/.devcontainer/cuda11.8-pip/devcontainer.json b/.devcontainer/cuda11.8-pip/devcontainer.json index 9c4a097e0..23689a453 100644 --- a/.devcontainer/cuda11.8-pip/devcontainer.json +++ b/.devcontainer/cuda11.8-pip/devcontainer.json @@ -7,8 +7,7 @@ "args": { "CUDA": "11.8", "PYTHON_PACKAGE_MANAGER": "pip", - "CONDA_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04", - "PIP_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-ubuntu22.04" + "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-ubuntu22.04" } }, "hostRequirements": { @@ -33,14 +32,14 @@ "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" ], - "containerEnv": { - "PYTHONSAFEPATH": "true", - "PYTHONUNBUFFERED": "true", - "DEFAULT_VIRTUAL_ENV": "rapids" - }, + "postAttachCommand": [ + "/bin/bash", + "-c", + "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi" + ], "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", "mounts": [ "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", diff --git a/.devcontainer/cuda12.0-conda/devcontainer.json b/.devcontainer/cuda12.0-conda/devcontainer.json index f0a41fe2e..56cab1477 100644 --- a/.devcontainer/cuda12.0-conda/devcontainer.json +++ b/.devcontainer/cuda12.0-conda/devcontainer.json @@ -7,8 +7,7 @@ "args": { "CUDA": "12.0", "PYTHON_PACKAGE_MANAGER": "conda", - "CONDA_BASE": "rapidsai/devcontainers:23.10-cpp-mambaforge-ubuntu22.04", - "PIP_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda12.0-ubuntu22.04" + "BASE": "rapidsai/devcontainers:23.10-cpp-mambaforge-ubuntu22.04" } }, "hostRequirements": { @@ -24,7 +23,7 @@ ], "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}/single}" + "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}}" ], "updateContentCommand": [ @@ -33,18 +32,20 @@ "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" ], - "containerEnv": { - "DEFAULT_CONDA_ENV": "rapids" - }, + "postAttachCommand": [ + "/bin/bash", + "-c", + "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi" + ], "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", "mounts": [ "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}/single,target=/home/coder/.conda/envs,type=bind,consistency=consistent" + "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename},target=/home/coder/.conda/envs,type=bind,consistency=consistent" ], "customizations": { diff --git a/.devcontainer/cuda12.0-pip/devcontainer.json b/.devcontainer/cuda12.0-pip/devcontainer.json index c9f7e41f4..812873a83 100644 --- a/.devcontainer/cuda12.0-pip/devcontainer.json +++ b/.devcontainer/cuda12.0-pip/devcontainer.json @@ -7,8 +7,7 @@ "args": { "CUDA": "12.0", "PYTHON_PACKAGE_MANAGER": "pip", - "CONDA_BASE": "rapidsai/devcontainers:23.10-cpp-mambaforge-ubuntu22.04", - "PIP_BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda12.0-ubuntu22.04" + "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda12.0-ubuntu22.04" } }, "hostRequirements": { @@ -33,14 +32,14 @@ "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" ], - "containerEnv": { - "PYTHONSAFEPATH": "true", - "PYTHONUNBUFFERED": "true", - "DEFAULT_VIRTUAL_ENV": "rapids" - }, + "postAttachCommand": [ + "/bin/bash", + "-c", + "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi" + ], "workspaceFolder": "/home/coder", - "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent", + "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", "mounts": [ "source=${localWorkspaceFolder}/../.aws,target=/home/coder/.aws,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.cache,target=/home/coder/.cache,type=bind,consistency=consistent", From c43422dbdf18242828547c5f0131050ea36b7f2a Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 17 Aug 2023 08:54:25 -0700 Subject: [PATCH 26/56] consolidate common vscode customizations --- .../cuda11.8-conda/devcontainer.json | 44 ++----------------- .devcontainer/cuda11.8-pip/devcontainer.json | 44 ++----------------- .../cuda12.0-conda/devcontainer.json | 44 ++----------------- .devcontainer/cuda12.0-pip/devcontainer.json | 44 ++----------------- 4 files changed, 12 insertions(+), 164 deletions(-) diff --git a/.devcontainer/cuda11.8-conda/devcontainer.json b/.devcontainer/cuda11.8-conda/devcontainer.json index b6200811b..1c7bab973 100644 --- a/.devcontainer/cuda11.8-conda/devcontainer.json +++ b/.devcontainer/cuda11.8-conda/devcontainer.json @@ -51,47 +51,9 @@ "customizations": { "vscode": { "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ] } } } diff --git a/.devcontainer/cuda11.8-pip/devcontainer.json b/.devcontainer/cuda11.8-pip/devcontainer.json index 23689a453..42d62ce1c 100644 --- a/.devcontainer/cuda11.8-pip/devcontainer.json +++ b/.devcontainer/cuda11.8-pip/devcontainer.json @@ -50,47 +50,9 @@ "customizations": { "vscode": { "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ] } } } diff --git a/.devcontainer/cuda12.0-conda/devcontainer.json b/.devcontainer/cuda12.0-conda/devcontainer.json index 56cab1477..b8e1f0c92 100644 --- a/.devcontainer/cuda12.0-conda/devcontainer.json +++ b/.devcontainer/cuda12.0-conda/devcontainer.json @@ -51,47 +51,9 @@ "customizations": { "vscode": { "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ] } } } diff --git a/.devcontainer/cuda12.0-pip/devcontainer.json b/.devcontainer/cuda12.0-pip/devcontainer.json index 812873a83..d88f289ad 100644 --- a/.devcontainer/cuda12.0-pip/devcontainer.json +++ b/.devcontainer/cuda12.0-pip/devcontainer.json @@ -50,47 +50,9 @@ "customizations": { "vscode": { "extensions": [ - "llvm-vs-code-extensions.vscode-clangd", - "mutantdino.resourcemonitor", - "ms-vscode.cpptools", - "nvidia.nsight-vscode-edition", - "seaube.clangformat", - "tamasfe.even-better-toml" - ], - "settings": { - "C_Cpp.vcpkg.enabled": false, - "C_Cpp.formatting": "disabled", - "C_Cpp.autocomplete": "disabled", - "C_Cpp.errorSquiggles": "disabled", - "C_Cpp.intelliSenseEngine": "disabled", - "C_Cpp.configurationWarnings": "disabled", - "C_Cpp.autoAddFileAssociations": false, - "clang-format.fallbackStyle": "none", - "files.trimFinalNewlines": true, - "files.insertFinalNewline": true, - "files.trimTrailingWhitespace": true, - "files.associations": { - "*.cu": "cuda-cpp", - "*.cuh": "cuda-cpp", - "**/libcudacxx/include/**/*": "cpp", - "**/libcudacxx-src/include/**/*": "cpp" - }, - "files.watcherExclude": { - "**/build/**": true, - "**/_skbuild/**": true, - "**/target/**": true - }, - "python.linting.flake8Enabled": true, - "[c]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - }, - "[cuda-cpp]": { - "editor.defaultFormatter": "seaube.clangformat" - } - } + "ms-python.flake8", + "nvidia.nsight-vscode-edition" + ] } } } From 26d9cd25d2b7e699abd1f0814f054d6b98e2d771 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 19:05:14 +0000 Subject: [PATCH 27/56] add PR job to build code in devcontainers --- .github/workflows/build-in-devcontainer.yaml | 56 ++++++++++++++++++++ .github/workflows/pr.yaml | 7 +++ 2 files changed, 63 insertions(+) create mode 100644 .github/workflows/build-in-devcontainer.yaml diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml new file mode 100644 index 000000000..fd8ea2568 --- /dev/null +++ b/.github/workflows/build-in-devcontainer.yaml @@ -0,0 +1,56 @@ +on: + workflow_call: + inputs: + sha: + type: string + repo: + type: string + node_type: + type: string + default: "cpu8" + build_command: + type: string + required: true + +jobs: + build-in-devcontainer: + strategy: + fail-fast: false + matrix: + cuda: ["11.8"] + # cuda: ["11.8", "12.0"] + pkgr: ["conda"] + # pkgr: ["conda", "pip"] + runs-on: "linux-${{ matrix.ARCH }}-${{ inputs.node_type }}" + steps: + - uses: actions/checkout@v3 + with: + repository: ${{ inputs.repo }} + ref: ${{ inputs.sha }} + fetch-depth: 0 + - name: Check if repo has devcontainer + run: | + if test -f .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json; then + echo "HAS_DEVCONTAINER=true" >> "${GITHUB_ENV}"; + else + echo "HAS_DEVCONTAINER=false" >> "${GITHUB_ENV}"; + fi + - if: ${{ env.HAS_DEVCONTAINER == 'true' }} + uses: aws-actions/configure-aws-credentials@v2 + with: + role-to-assume: ${{ vars.AWS_ROLE_ARN }} + aws-region: ${{ vars.AWS_REGION }} + role-duration-seconds: 43200 # 12h + - if: ${{ env.HAS_DEVCONTAINER == 'true' }} + name: Run make ci-build in dev container + uses: devcontainers/ci@v0.3 + with: + push: never + runCmd: "${{ inputs.build_command }}" + subFolder: ".devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}" + env: + AWS_REGION: "${{ vars.AWS_REGION }}" + SCCACHE_REGION: "${{ vars.AWS_REGION }}" + AWS_ACCESS_KEY_ID: "${{ env.AWS_ACCESS_KEY_ID }}" + AWS_SESSION_TOKEN: "${{ env.AWS_SESSION_TOKEN }}" + AWS_SECRET_ACCESS_KEY: "${{ env.AWS_SECRET_ACCESS_KEY }}" diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 5cde123ae..68f002c53 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -75,3 +75,10 @@ jobs: with: build_type: pull-request script: ci/test_wheel.sh + build-in-devcontainer: + secrets: inherit + uses: ./.github/workflows/build-in-devcontainer.yaml + with: + build_command: | + build-rmm-cpp -DBUILD_BENCHMARKS=ON + build-rmm-python From 9b92280a5eb42e12d23419c0bf13c7d8d4286b7c Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 13:37:12 -0700 Subject: [PATCH 28/56] define env as string list --- .github/workflows/build-in-devcontainer.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index fd8ea2568..137df6315 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -48,9 +48,9 @@ jobs: push: never runCmd: "${{ inputs.build_command }}" subFolder: ".devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}" - env: - AWS_REGION: "${{ vars.AWS_REGION }}" - SCCACHE_REGION: "${{ vars.AWS_REGION }}" - AWS_ACCESS_KEY_ID: "${{ env.AWS_ACCESS_KEY_ID }}" - AWS_SESSION_TOKEN: "${{ env.AWS_SESSION_TOKEN }}" - AWS_SECRET_ACCESS_KEY: "${{ env.AWS_SECRET_ACCESS_KEY }}" + env: | + AWS_REGION="${{ vars.AWS_REGION }}" + SCCACHE_REGION="${{ vars.AWS_REGION }}" + AWS_ACCESS_KEY_ID="${{ env.AWS_ACCESS_KEY_ID }}" + AWS_SESSION_TOKEN="${{ env.AWS_SESSION_TOKEN }}" + AWS_SECRET_ACCESS_KEY="${{ env.AWS_SECRET_ACCESS_KEY }}" From 8eb3c567622c449ff0427c777a5865c892cd5ba8 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 13:49:13 -0700 Subject: [PATCH 29/56] use list syntax, don't check pr job dependencies --- .github/workflows/build-in-devcontainer.yaml | 12 ++++++------ .github/workflows/pr.yaml | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 137df6315..c6ea8be24 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -48,9 +48,9 @@ jobs: push: never runCmd: "${{ inputs.build_command }}" subFolder: ".devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}" - env: | - AWS_REGION="${{ vars.AWS_REGION }}" - SCCACHE_REGION="${{ vars.AWS_REGION }}" - AWS_ACCESS_KEY_ID="${{ env.AWS_ACCESS_KEY_ID }}" - AWS_SESSION_TOKEN="${{ env.AWS_SESSION_TOKEN }}" - AWS_SECRET_ACCESS_KEY="${{ env.AWS_SECRET_ACCESS_KEY }}" + env: + - "AWS_REGION=${{ vars.AWS_REGION }}" + - "SCCACHE_REGION=${{ vars.AWS_REGION }}" + - "AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }}" + - "AWS_SESSION_TOKEN=${{ env.AWS_SESSION_TOKEN }}" + - "AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }}" diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 68f002c53..c405d3632 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -27,6 +27,7 @@ jobs: uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.10 with: enable_check_generated_files: false + enable_check_pr_job_dependencies: false conda-cpp-build: needs: checks secrets: inherit From 6eec716f9b085bd602ac58663fd7da851178247f Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 13:50:12 -0700 Subject: [PATCH 30/56] use newline string syntax --- .github/workflows/build-in-devcontainer.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index c6ea8be24..a8c304adb 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -48,9 +48,9 @@ jobs: push: never runCmd: "${{ inputs.build_command }}" subFolder: ".devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}" - env: - - "AWS_REGION=${{ vars.AWS_REGION }}" - - "SCCACHE_REGION=${{ vars.AWS_REGION }}" - - "AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }}" - - "AWS_SESSION_TOKEN=${{ env.AWS_SESSION_TOKEN }}" - - "AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }}" + env: | + "AWS_REGION=${{ vars.AWS_REGION }}" + "SCCACHE_REGION=${{ vars.AWS_REGION }}" + "AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }}" + "AWS_SESSION_TOKEN=${{ env.AWS_SESSION_TOKEN }}" + "AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }}" From 85e97c00a5e3b82a52c9fc77cb13c358806c8d7a Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 13:51:34 -0700 Subject: [PATCH 31/56] add arch to matrix --- .github/workflows/build-in-devcontainer.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index a8c304adb..721e56428 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -17,11 +17,12 @@ jobs: strategy: fail-fast: false matrix: + arch: ["amd64"] cuda: ["11.8"] # cuda: ["11.8", "12.0"] pkgr: ["conda"] # pkgr: ["conda", "pip"] - runs-on: "linux-${{ matrix.ARCH }}-${{ inputs.node_type }}" + runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" steps: - uses: actions/checkout@v3 with: From 5ee7d8484ddcb7ceb0e177d724728d023c5257cd Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 14:00:18 -0700 Subject: [PATCH 32/56] add id-token permission --- .github/workflows/build-in-devcontainer.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 721e56428..63941d6c6 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -23,6 +23,8 @@ jobs: pkgr: ["conda"] # pkgr: ["conda", "pip"] runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" + permissions: + id-token: write # This is required for configure-aws-credentials steps: - uses: actions/checkout@v3 with: @@ -43,14 +45,13 @@ jobs: aws-region: ${{ vars.AWS_REGION }} role-duration-seconds: 43200 # 12h - if: ${{ env.HAS_DEVCONTAINER == 'true' }} - name: Run make ci-build in dev container + name: Run build in devcontainer uses: devcontainers/ci@v0.3 with: push: never runCmd: "${{ inputs.build_command }}" subFolder: ".devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}" env: | - "AWS_REGION=${{ vars.AWS_REGION }}" "SCCACHE_REGION=${{ vars.AWS_REGION }}" "AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }}" "AWS_SESSION_TOKEN=${{ env.AWS_SESSION_TOKEN }}" From 6878648ee104737aac713c566468ca69fb017778 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 21:04:02 +0000 Subject: [PATCH 33/56] setup node --- .github/workflows/build-in-devcontainer.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 63941d6c6..5bfbd1000 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -44,6 +44,11 @@ jobs: role-to-assume: ${{ vars.AWS_ROLE_ARN }} aws-region: ${{ vars.AWS_REGION }} role-duration-seconds: 43200 # 12h + - if: ${{ env.HAS_DEVCONTAINER == 'true' }} + name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version: '16' - if: ${{ env.HAS_DEVCONTAINER == 'true' }} name: Run build in devcontainer uses: devcontainers/ci@v0.3 From b6234e5191937aa9c07cb6d14658d0f29832f788 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 21:07:24 +0000 Subject: [PATCH 34/56] symlink devcontainer.json so the devconatiners/ci action can find it --- .github/workflows/build-in-devcontainer.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 5bfbd1000..0cb7e75ee 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -49,13 +49,18 @@ jobs: uses: actions/setup-node@v3 with: node-version: '16' + - if: ${{ env.HAS_DEVCONTAINER == 'true' }} + name: Symlink devcontainer.json file + run: | + ln -s \ + .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json \ + .devcontainer/devcontainer.json - if: ${{ env.HAS_DEVCONTAINER == 'true' }} name: Run build in devcontainer uses: devcontainers/ci@v0.3 with: push: never runCmd: "${{ inputs.build_command }}" - subFolder: ".devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}" env: | "SCCACHE_REGION=${{ vars.AWS_REGION }}" "AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }}" From b85af86e718e0ea5cb373ef24b11e39c3b31d99a Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 21:09:48 +0000 Subject: [PATCH 35/56] copy devcontainer.json up one level --- .github/workflows/build-in-devcontainer.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 0cb7e75ee..cb52bbb53 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -50,11 +50,12 @@ jobs: with: node-version: '16' - if: ${{ env.HAS_DEVCONTAINER == 'true' }} - name: Symlink devcontainer.json file + name: Copy devcontainer.json file up one level run: | - ln -s \ + cp \ .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json \ .devcontainer/devcontainer.json + ls -all . - if: ${{ env.HAS_DEVCONTAINER == 'true' }} name: Run build in devcontainer uses: devcontainers/ci@v0.3 From ddd58684f07f7905d09411ded2c2d6fc2360f511 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 21:17:31 +0000 Subject: [PATCH 36/56] use newline syntax again --- .github/workflows/build-in-devcontainer.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index cb52bbb53..bb648d620 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -55,7 +55,6 @@ jobs: cp \ .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json \ .devcontainer/devcontainer.json - ls -all . - if: ${{ env.HAS_DEVCONTAINER == 'true' }} name: Run build in devcontainer uses: devcontainers/ci@v0.3 @@ -63,7 +62,7 @@ jobs: push: never runCmd: "${{ inputs.build_command }}" env: | - "SCCACHE_REGION=${{ vars.AWS_REGION }}" - "AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }}" - "AWS_SESSION_TOKEN=${{ env.AWS_SESSION_TOKEN }}" - "AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }}" + SCCACHE_REGION=${{ vars.AWS_REGION }} + AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }} + AWS_SESSION_TOKEN=${{ env.AWS_SESSION_TOKEN }} + AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }} From 14ea309a712371c05e7426e11379dc61b14f9c50 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 21:22:40 +0000 Subject: [PATCH 37/56] expand the devcontainer build matrix --- .github/workflows/build-in-devcontainer.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index bb648d620..1858636c1 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -7,7 +7,7 @@ on: type: string node_type: type: string - default: "cpu8" + default: "cpu4" build_command: type: string required: true @@ -18,10 +18,8 @@ jobs: fail-fast: false matrix: arch: ["amd64"] - cuda: ["11.8"] - # cuda: ["11.8", "12.0"] - pkgr: ["conda"] - # pkgr: ["conda", "pip"] + cuda: ["11.8", "12.0"] + pkgr: ["conda", "pip"] runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" permissions: id-token: write # This is required for configure-aws-credentials From 3ff7aec7ccf8b0f4c421dd0dea2b04d60d5715cf Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 21:31:58 +0000 Subject: [PATCH 38/56] rename job and workflow --- .github/workflows/build-in-devcontainer.yaml | 2 +- .github/workflows/pr.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 1858636c1..58e62997a 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -13,7 +13,7 @@ on: required: true jobs: - build-in-devcontainer: + build: strategy: fail-fast: false matrix: diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index c405d3632..1e73c7853 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -76,7 +76,7 @@ jobs: with: build_type: pull-request script: ci/test_wheel.sh - build-in-devcontainer: + devcontainer: secrets: inherit uses: ./.github/workflows/build-in-devcontainer.yaml with: From 95a6ac71be30241e5b158109522bfd83ca9fe3dd Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 23:44:26 +0000 Subject: [PATCH 39/56] make the devcontainer.json files more compact --- .../cuda11.8-conda/devcontainer.json | 29 +++---------------- .devcontainer/cuda11.8-pip/devcontainer.json | 25 ++-------------- .../cuda12.0-conda/devcontainer.json | 29 +++---------------- .devcontainer/cuda12.0-pip/devcontainer.json | 25 ++-------------- 4 files changed, 14 insertions(+), 94 deletions(-) diff --git a/.devcontainer/cuda11.8-conda/devcontainer.json b/.devcontainer/cuda11.8-conda/devcontainer.json index 1c7bab973..ab8a377ed 100644 --- a/.devcontainer/cuda11.8-conda/devcontainer.json +++ b/.devcontainer/cuda11.8-conda/devcontainer.json @@ -1,6 +1,4 @@ { - "shutdownAction": "stopContainer", - "build": { "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", @@ -10,34 +8,16 @@ "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04" } }, - "hostRequirements": { - "gpu": true - }, - + "hostRequirements": {"gpu": "optional"}, "features": { "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, - "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}}" - ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "postAttachCommand": [ - "/bin/bash", - "-c", - "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi" - ], - + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}}"], + "updateContentCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", "mounts": [ @@ -47,7 +27,6 @@ "source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename},target=/home/coder/.conda/envs,type=bind,consistency=consistent" ], - "customizations": { "vscode": { "extensions": [ diff --git a/.devcontainer/cuda11.8-pip/devcontainer.json b/.devcontainer/cuda11.8-pip/devcontainer.json index 42d62ce1c..cf8b60f3e 100644 --- a/.devcontainer/cuda11.8-pip/devcontainer.json +++ b/.devcontainer/cuda11.8-pip/devcontainer.json @@ -1,6 +1,4 @@ { - "shutdownAction": "stopContainer", - "build": { "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", @@ -10,34 +8,18 @@ "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda11.8-ubuntu22.04" } }, - "hostRequirements": { - "gpu": true - }, - + "hostRequirements": {"gpu": "optional"}, "features": { "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, - "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" ], - "initializeCommand": [ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "postAttachCommand": [ - "/bin/bash", - "-c", - "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi" - ], - + "updateContentCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", "mounts": [ @@ -46,7 +28,6 @@ "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.local/${localWorkspaceFolderBasename}/single,target=/home/coder/.local,type=bind,consistency=consistent" ], - "customizations": { "vscode": { "extensions": [ diff --git a/.devcontainer/cuda12.0-conda/devcontainer.json b/.devcontainer/cuda12.0-conda/devcontainer.json index b8e1f0c92..fc635a65c 100644 --- a/.devcontainer/cuda12.0-conda/devcontainer.json +++ b/.devcontainer/cuda12.0-conda/devcontainer.json @@ -1,6 +1,4 @@ { - "shutdownAction": "stopContainer", - "build": { "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", @@ -10,34 +8,16 @@ "BASE": "rapidsai/devcontainers:23.10-cpp-mambaforge-ubuntu22.04" } }, - "hostRequirements": { - "gpu": true - }, - + "hostRequirements": {"gpu": "optional"}, "features": { "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, - "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" ], - - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}}" - ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "postAttachCommand": [ - "/bin/bash", - "-c", - "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi" - ], - + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}}"], + "updateContentCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", "mounts": [ @@ -47,7 +27,6 @@ "source=${localWorkspaceFolder}/../.conda/pkgs,target=/home/coder/.conda/pkgs,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename},target=/home/coder/.conda/envs,type=bind,consistency=consistent" ], - "customizations": { "vscode": { "extensions": [ diff --git a/.devcontainer/cuda12.0-pip/devcontainer.json b/.devcontainer/cuda12.0-pip/devcontainer.json index d88f289ad..71a3b3b65 100644 --- a/.devcontainer/cuda12.0-pip/devcontainer.json +++ b/.devcontainer/cuda12.0-pip/devcontainer.json @@ -1,6 +1,4 @@ { - "shutdownAction": "stopContainer", - "build": { "context": "${localWorkspaceFolder}/.devcontainer", "dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile", @@ -10,34 +8,18 @@ "BASE": "rapidsai/devcontainers:23.10-cpp-llvm16-cuda12.0-ubuntu22.04" } }, - "hostRequirements": { - "gpu": true - }, - + "hostRequirements": {"gpu": "optional"}, "features": { "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:23.10": {} }, - "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" ], - "initializeCommand": [ "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" ], - - "updateContentCommand": [ - "/bin/bash", - "-c", - "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml" - ], - - "postAttachCommand": [ - "/bin/bash", - "-c", - "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi" - ], - + "updateContentCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml"], + "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", "mounts": [ @@ -46,7 +28,6 @@ "source=${localWorkspaceFolder}/../.config,target=/home/coder/.config,type=bind,consistency=consistent", "source=${localWorkspaceFolder}/../.local/${localWorkspaceFolderBasename}/single,target=/home/coder/.local,type=bind,consistency=consistent" ], - "customizations": { "vscode": { "extensions": [ From ef166b3841f33a54f368ac7c892663fbef198ca6 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 22 Aug 2023 23:55:03 +0000 Subject: [PATCH 40/56] add ARM64 to the devcontainer arch matrix --- .github/workflows/build-in-devcontainer.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 58e62997a..b32f6353e 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - arch: ["amd64"] + arch: ["amd64", "arm64"] cuda: ["11.8", "12.0"] pkgr: ["conda", "pip"] runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" From 0276673be7a9a05cecf64630cff3000314d4694d Mon Sep 17 00:00:00 2001 From: ptaylor Date: Wed, 23 Aug 2023 00:06:50 +0000 Subject: [PATCH 41/56] exclude CUDA 12.0 ARM64 conda from devcontainers build due to missing cuda-python --- .github/workflows/build-in-devcontainer.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index b32f6353e..7c2ebf93e 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -20,6 +20,8 @@ jobs: arch: ["amd64", "arm64"] cuda: ["11.8", "12.0"] pkgr: ["conda", "pip"] + exclude: + - { cuda: '12.0', arch: 'arm64', pkgr: 'conda' } runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" permissions: id-token: write # This is required for configure-aws-credentials From 42db369cab0946e21c54236e2bec8fd241d72da6 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Wed, 23 Aug 2023 09:55:49 -0700 Subject: [PATCH 42/56] limit the devcontainers build matrix to amd64 + CUDA 12.0 --- .github/workflows/build-in-devcontainer.yaml | 10 ++++------ .github/workflows/pr.yaml | 9 +++++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 7c2ebf93e..0ad0e89b1 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -5,6 +5,9 @@ on: type: string repo: type: string + matrix: + type: string + required: true node_type: type: string default: "cpu4" @@ -16,12 +19,7 @@ jobs: build: strategy: fail-fast: false - matrix: - arch: ["amd64", "arm64"] - cuda: ["11.8", "12.0"] - pkgr: ["conda", "pip"] - exclude: - - { cuda: '12.0', arch: 'arm64', pkgr: 'conda' } + matrix: ${{ fromJSON(inputs.matrix) }} runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" permissions: id-token: write # This is required for configure-aws-credentials diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 1e73c7853..809feb0d0 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -80,6 +80,15 @@ jobs: secrets: inherit uses: ./.github/workflows/build-in-devcontainer.yaml with: + # How to generate a JSON string from YAML: + # cat < Date: Wed, 23 Aug 2023 09:58:22 -0700 Subject: [PATCH 43/56] move matrix out of build-in-devcontainer.yaml --- .github/workflows/build-in-devcontainer.yaml | 17 ++++++++++------- .github/workflows/pr.yaml | 18 +++++++++--------- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 0ad0e89b1..2dfea6198 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -5,7 +5,13 @@ on: type: string repo: type: string - matrix: + arch: + type: string + required: true + cuda: + type: string + required: true + pkgr: type: string required: true node_type: @@ -17,10 +23,7 @@ on: jobs: build: - strategy: - fail-fast: false - matrix: ${{ fromJSON(inputs.matrix) }} - runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" + runs-on: "linux-${{ inputs.arch }}-${{ inputs.node_type }}" permissions: id-token: write # This is required for configure-aws-credentials steps: @@ -31,7 +34,7 @@ jobs: fetch-depth: 0 - name: Check if repo has devcontainer run: | - if test -f .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json; then + if test -f .devcontainer/cuda${{ inputs.cuda }}-${{ inputs.pkgr }}/devcontainer.json; then echo "HAS_DEVCONTAINER=true" >> "${GITHUB_ENV}"; else echo "HAS_DEVCONTAINER=false" >> "${GITHUB_ENV}"; @@ -51,7 +54,7 @@ jobs: name: Copy devcontainer.json file up one level run: | cp \ - .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json \ + .devcontainer/cuda${{ inputs.cuda }}-${{ inputs.pkgr }}/devcontainer.json \ .devcontainer/devcontainer.json - if: ${{ env.HAS_DEVCONTAINER == 'true' }} name: Run build in devcontainer diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 809feb0d0..8abdbf38a 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -79,16 +79,16 @@ jobs: devcontainer: secrets: inherit uses: ./.github/workflows/build-in-devcontainer.yaml + strategy: + fail-fast: false + matrix: + arch: ["amd64"] + cuda: ["12.0"] + pkgr: ["conda", "pip"] with: - # How to generate a JSON string from YAML: - # cat < Date: Wed, 23 Aug 2023 17:18:21 +0000 Subject: [PATCH 44/56] Revert "move matrix out of build-in-devcontainer.yaml" This reverts commit d052c9753e7d36e86c3e78a57b55d207cd902067. --- .github/workflows/build-in-devcontainer.yaml | 17 +++++++---------- .github/workflows/pr.yaml | 18 +++++++++--------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 2dfea6198..0ad0e89b1 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -5,13 +5,7 @@ on: type: string repo: type: string - arch: - type: string - required: true - cuda: - type: string - required: true - pkgr: + matrix: type: string required: true node_type: @@ -23,7 +17,10 @@ on: jobs: build: - runs-on: "linux-${{ inputs.arch }}-${{ inputs.node_type }}" + strategy: + fail-fast: false + matrix: ${{ fromJSON(inputs.matrix) }} + runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" permissions: id-token: write # This is required for configure-aws-credentials steps: @@ -34,7 +31,7 @@ jobs: fetch-depth: 0 - name: Check if repo has devcontainer run: | - if test -f .devcontainer/cuda${{ inputs.cuda }}-${{ inputs.pkgr }}/devcontainer.json; then + if test -f .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json; then echo "HAS_DEVCONTAINER=true" >> "${GITHUB_ENV}"; else echo "HAS_DEVCONTAINER=false" >> "${GITHUB_ENV}"; @@ -54,7 +51,7 @@ jobs: name: Copy devcontainer.json file up one level run: | cp \ - .devcontainer/cuda${{ inputs.cuda }}-${{ inputs.pkgr }}/devcontainer.json \ + .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json \ .devcontainer/devcontainer.json - if: ${{ env.HAS_DEVCONTAINER == 'true' }} name: Run build in devcontainer diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 8abdbf38a..809feb0d0 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -79,16 +79,16 @@ jobs: devcontainer: secrets: inherit uses: ./.github/workflows/build-in-devcontainer.yaml - strategy: - fail-fast: false - matrix: - arch: ["amd64"] - cuda: ["12.0"] - pkgr: ["conda", "pip"] with: - arch: ${{ matrix.arch }} - cuda: ${{ matrix.cuda }} - pkgr: ${{ matrix.pkgr }} + # How to generate a JSON string from YAML: + # cat < Date: Wed, 23 Aug 2023 17:20:59 +0000 Subject: [PATCH 45/56] Revert "limit the devcontainers build matrix to amd64 + CUDA 12.0" This reverts commit 42db369cab0946e21c54236e2bec8fd241d72da6. --- .github/workflows/build-in-devcontainer.yaml | 10 ++++++---- .github/workflows/pr.yaml | 9 --------- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 0ad0e89b1..7c2ebf93e 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -5,9 +5,6 @@ on: type: string repo: type: string - matrix: - type: string - required: true node_type: type: string default: "cpu4" @@ -19,7 +16,12 @@ jobs: build: strategy: fail-fast: false - matrix: ${{ fromJSON(inputs.matrix) }} + matrix: + arch: ["amd64", "arm64"] + cuda: ["11.8", "12.0"] + pkgr: ["conda", "pip"] + exclude: + - { cuda: '12.0', arch: 'arm64', pkgr: 'conda' } runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" permissions: id-token: write # This is required for configure-aws-credentials diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 809feb0d0..1e73c7853 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -80,15 +80,6 @@ jobs: secrets: inherit uses: ./.github/workflows/build-in-devcontainer.yaml with: - # How to generate a JSON string from YAML: - # cat < Date: Wed, 23 Aug 2023 17:21:37 +0000 Subject: [PATCH 46/56] limit the devcontainers build matrix to amd64 + CUDA 12.0 + conda/pip --- .github/workflows/build-in-devcontainer.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml index 7c2ebf93e..e8e08d07a 100644 --- a/.github/workflows/build-in-devcontainer.yaml +++ b/.github/workflows/build-in-devcontainer.yaml @@ -17,11 +17,9 @@ jobs: strategy: fail-fast: false matrix: - arch: ["amd64", "arm64"] - cuda: ["11.8", "12.0"] + arch: ["amd64"] + cuda: ["12.0"] pkgr: ["conda", "pip"] - exclude: - - { cuda: '12.0', arch: 'arm64', pkgr: 'conda' } runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" permissions: id-token: write # This is required for configure-aws-credentials From d8b1682e05375462936ba1f3745af11da745a955 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Wed, 23 Aug 2023 18:07:11 +0000 Subject: [PATCH 47/56] separate devcontainer mounts by CUDA version --- .devcontainer/cuda11.8-conda/devcontainer.json | 5 ++--- .devcontainer/cuda11.8-pip/devcontainer.json | 7 ++----- .devcontainer/cuda12.0-conda/devcontainer.json | 5 ++--- .devcontainer/cuda12.0-pip/devcontainer.json | 7 ++----- 4 files changed, 8 insertions(+), 16 deletions(-) diff --git a/.devcontainer/cuda11.8-conda/devcontainer.json b/.devcontainer/cuda11.8-conda/devcontainer.json index ab8a377ed..ba3555a26 100644 --- a/.devcontainer/cuda11.8-conda/devcontainer.json +++ b/.devcontainer/cuda11.8-conda/devcontainer.json @@ -15,8 +15,7 @@ "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}}"], - "updateContentCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda11.8-envs}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", @@ -25,7 +24,7 @@ "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},target=/home/coder/.conda/envs,type=bind,consistency=consistent" + "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda11.8-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent" ], "customizations": { "vscode": { diff --git a/.devcontainer/cuda11.8-pip/devcontainer.json b/.devcontainer/cuda11.8-pip/devcontainer.json index cf8b60f3e..a5b4290e9 100644 --- a/.devcontainer/cuda11.8-pip/devcontainer.json +++ b/.devcontainer/cuda11.8-pip/devcontainer.json @@ -15,10 +15,7 @@ "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" ], - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" - ], - "updateContentCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda11.8-venvs}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", @@ -26,7 +23,7 @@ "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/${localWorkspaceFolderBasename}/single,target=/home/coder/.local,type=bind,consistency=consistent" + "source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda11.8-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent" ], "customizations": { "vscode": { diff --git a/.devcontainer/cuda12.0-conda/devcontainer.json b/.devcontainer/cuda12.0-conda/devcontainer.json index fc635a65c..03282635e 100644 --- a/.devcontainer/cuda12.0-conda/devcontainer.json +++ b/.devcontainer/cuda12.0-conda/devcontainer.json @@ -15,8 +15,7 @@ "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" ], - "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}}"], - "updateContentCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config,conda/pkgs,conda/${localWorkspaceFolderBasename}-cuda12.0-envs}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", @@ -25,7 +24,7 @@ "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},target=/home/coder/.conda/envs,type=bind,consistency=consistent" + "source=${localWorkspaceFolder}/../.conda/${localWorkspaceFolderBasename}-cuda12.0-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent" ], "customizations": { "vscode": { diff --git a/.devcontainer/cuda12.0-pip/devcontainer.json b/.devcontainer/cuda12.0-pip/devcontainer.json index 71a3b3b65..8dc607f28 100644 --- a/.devcontainer/cuda12.0-pip/devcontainer.json +++ b/.devcontainer/cuda12.0-pip/devcontainer.json @@ -15,10 +15,7 @@ "overrideFeatureInstallOrder": [ "ghcr.io/rapidsai/devcontainers/features/rapids-build-utils" ], - "initializeCommand": [ - "/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/${localWorkspaceFolderBasename}/single}" - ], - "updateContentCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ~/.config/clangd && cp -n /etc/skel/.config/clangd/config.yaml ~/.config/clangd/config.yaml"], + "initializeCommand": ["/bin/bash", "-c", "mkdir -m 0755 -p ${localWorkspaceFolder}/../.{aws,cache,config/pip,local/share/${localWorkspaceFolderBasename}-cuda12.0-venvs}"], "postAttachCommand": ["/bin/bash", "-c", "if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; . rapids-post-attach-command; fi"], "workspaceFolder": "/home/coder", "workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/rmm,type=bind,consistency=consistent", @@ -26,7 +23,7 @@ "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/${localWorkspaceFolderBasename}/single,target=/home/coder/.local,type=bind,consistency=consistent" + "source=${localWorkspaceFolder}/../.local/share/${localWorkspaceFolderBasename}-cuda12.0-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent" ], "customizations": { "vscode": { From e1566a91dfa562ffa720f05330a4da4b094bd3e6 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Wed, 23 Aug 2023 18:07:56 +0000 Subject: [PATCH 48/56] use shared-action-workflows build-in-devcontainer action --- .github/workflows/build-in-devcontainer.yaml | 66 -------------------- .github/workflows/pr.yaml | 2 +- 2 files changed, 1 insertion(+), 67 deletions(-) delete mode 100644 .github/workflows/build-in-devcontainer.yaml diff --git a/.github/workflows/build-in-devcontainer.yaml b/.github/workflows/build-in-devcontainer.yaml deleted file mode 100644 index e8e08d07a..000000000 --- a/.github/workflows/build-in-devcontainer.yaml +++ /dev/null @@ -1,66 +0,0 @@ -on: - workflow_call: - inputs: - sha: - type: string - repo: - type: string - node_type: - type: string - default: "cpu4" - build_command: - type: string - required: true - -jobs: - build: - strategy: - fail-fast: false - matrix: - arch: ["amd64"] - cuda: ["12.0"] - pkgr: ["conda", "pip"] - runs-on: "linux-${{ matrix.arch }}-${{ inputs.node_type }}" - permissions: - id-token: write # This is required for configure-aws-credentials - steps: - - uses: actions/checkout@v3 - with: - repository: ${{ inputs.repo }} - ref: ${{ inputs.sha }} - fetch-depth: 0 - - name: Check if repo has devcontainer - run: | - if test -f .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json; then - echo "HAS_DEVCONTAINER=true" >> "${GITHUB_ENV}"; - else - echo "HAS_DEVCONTAINER=false" >> "${GITHUB_ENV}"; - fi - - if: ${{ env.HAS_DEVCONTAINER == 'true' }} - uses: aws-actions/configure-aws-credentials@v2 - with: - role-to-assume: ${{ vars.AWS_ROLE_ARN }} - aws-region: ${{ vars.AWS_REGION }} - role-duration-seconds: 43200 # 12h - - if: ${{ env.HAS_DEVCONTAINER == 'true' }} - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '16' - - if: ${{ env.HAS_DEVCONTAINER == 'true' }} - name: Copy devcontainer.json file up one level - run: | - cp \ - .devcontainer/cuda${{ matrix.cuda }}-${{ matrix.pkgr }}/devcontainer.json \ - .devcontainer/devcontainer.json - - if: ${{ env.HAS_DEVCONTAINER == 'true' }} - name: Run build in devcontainer - uses: devcontainers/ci@v0.3 - with: - push: never - runCmd: "${{ inputs.build_command }}" - env: | - SCCACHE_REGION=${{ vars.AWS_REGION }} - AWS_ACCESS_KEY_ID=${{ env.AWS_ACCESS_KEY_ID }} - AWS_SESSION_TOKEN=${{ env.AWS_SESSION_TOKEN }} - AWS_SECRET_ACCESS_KEY=${{ env.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 1e73c7853..d6f5187bc 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -78,7 +78,7 @@ jobs: script: ci/test_wheel.sh devcontainer: secrets: inherit - uses: ./.github/workflows/build-in-devcontainer.yaml + uses: rapidsai/shared-action-workflows/.github/workflows//build-in-devcontainer.yaml@fea/devcontainers with: build_command: | build-rmm-cpp -DBUILD_BENCHMARKS=ON From 94c236f2c5fae89e13bd0e5db965db45a6c54370 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Wed, 23 Aug 2023 11:22:03 -0700 Subject: [PATCH 49/56] fix typo --- .github/workflows/pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index d6f5187bc..6875c34b8 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -78,7 +78,7 @@ jobs: script: ci/test_wheel.sh devcontainer: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows//build-in-devcontainer.yaml@fea/devcontainers + uses: rapidsai/shared-action-workflows/.github/workflows/build-in-devcontainer.yaml@fea/devcontainers with: build_command: | build-rmm-cpp -DBUILD_BENCHMARKS=ON From 65f1c60e261057e929dd688200830f288c58a82a Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 12 Sep 2023 15:26:14 +0000 Subject: [PATCH 50/56] exclude doxygen from requirements.txt --- dependencies.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dependencies.yaml b/dependencies.yaml index 45c6da4b5..cbb88ab5f 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -125,6 +125,8 @@ dependencies: # pre-commit requires identify minimum version 1.0, but clang-format requires textproto support and that was # added in 2.5.20, so we need to call out the minimum version needed for our plugins - identify>=2.5.20 + - output_types: conda + packages: - &doxygen doxygen=1.9.1 cudatoolkit: specific: @@ -170,7 +172,7 @@ dependencies: - clang-tools==16.0.1 docs: common: - - output_types: [conda] + - output_types: conda packages: - *doxygen - graphviz From 5586f712d6bed63e1d4296c53a133e0844dcaa4a Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 12 Sep 2023 15:47:32 -0700 Subject: [PATCH 51/56] be more explicit in update-versions.sh, make devcontainer build required in pr jobs --- .github/workflows/pr.yaml | 9 +++++---- ci/release/update-version.sh | 9 +++++++-- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 6875c34b8..aba502b39 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -20,6 +20,7 @@ jobs: - docs-build - wheel-build - wheel-tests + - build-in-devcontainer secrets: inherit uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.10 checks: @@ -27,7 +28,6 @@ jobs: uses: rapidsai/shared-action-workflows/.github/workflows/checks.yaml@branch-23.10 with: enable_check_generated_files: false - enable_check_pr_job_dependencies: false conda-cpp-build: needs: checks secrets: inherit @@ -76,10 +76,11 @@ jobs: with: build_type: pull-request script: ci/test_wheel.sh - devcontainer: + build-in-devcontainer: secrets: inherit uses: rapidsai/shared-action-workflows/.github/workflows/build-in-devcontainer.yaml@fea/devcontainers with: build_command: | - build-rmm-cpp -DBUILD_BENCHMARKS=ON - build-rmm-python + sccache -z; + build-all -DBUILD_BENCHMARKS=ON; + sccache -s; diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 9b48fb058..903b7c081 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -22,6 +22,9 @@ 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} +# Need to distutils-normalize the original version +NEXT_SHORT_TAG_PEP440=$(python -c "from setuptools.extern import packaging; print(packaging.version.Version('${NEXT_SHORT_TAG}'))") + echo "Preparing release $CURRENT_TAG => $NEXT_FULL_TAG" # Inplace sed replace; workaround for Linux and Mac @@ -57,5 +60,7 @@ done sed_runner "s/RAPIDS_VERSION_NUMBER=\".*/RAPIDS_VERSION_NUMBER=\"${NEXT_SHORT_TAG}\"/g" ci/build_docs.sh # .devcontainer files -sed_runner "s/ARG RAPIDS=${CURRENT_SHORT_TAG}/ARG RAPIDS=${NEXT_SHORT_TAG}/g" .devcontainer/Dockerfile -find .devcontainer/ -type f -name devcontainer.json -exec sed -i "s/${CURRENT_SHORT_TAG}/${NEXT_SHORT_TAG}/g" {} \; +find .devcontainer/ -type f -name devcontainer.json -print0 | while IFS= read -r -d '' filename; do + sed_runner "s@rapidsai/devcontainers:[0-9.]*@rapidsai/devcontainers:${NEXT_FULL_TAG}@g" "${filename}" + sed_runner "s@rapidsai/devcontainers/features/rapids-build-utils:[0-9.]*@rapidsai/devcontainers/features/rapids-build-utils:${NEXT_SHORT_TAG_PEP440}@" +done From 9a5d9746de3049536c4420c8518f221f229867f1 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Tue, 12 Sep 2023 17:10:51 -0700 Subject: [PATCH 52/56] revert rename devcontainer job --- .github/workflows/pr.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index aba502b39..aa0dadbe2 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -20,7 +20,7 @@ jobs: - docs-build - wheel-build - wheel-tests - - build-in-devcontainer + - devcontainer secrets: inherit uses: rapidsai/shared-action-workflows/.github/workflows/pr-builder.yaml@branch-23.10 checks: @@ -76,7 +76,7 @@ jobs: with: build_type: pull-request script: ci/test_wheel.sh - build-in-devcontainer: + devcontainer: secrets: inherit uses: rapidsai/shared-action-workflows/.github/workflows/build-in-devcontainer.yaml@fea/devcontainers with: From 230dc6e64af0e51c4d201020fd04e9b14be26197 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 21 Sep 2023 11:13:26 -0700 Subject: [PATCH 53/56] build with --verbose --- .github/workflows/pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index aa0dadbe2..add0ba140 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -82,5 +82,5 @@ jobs: with: build_command: | sccache -z; - build-all -DBUILD_BENCHMARKS=ON; + build-all -DBUILD_BENCHMARKS=ON --verbose; sccache -s; From 74e09409a1eec9512748220c6fab0bc328a99ad4 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 21 Sep 2023 18:15:17 +0000 Subject: [PATCH 54/56] update to clang-tools 16.0.6 --- conda/environments/all_cuda-118_arch-x86_64.yaml | 4 ++-- conda/environments/all_cuda-120_arch-x86_64.yaml | 4 ++-- dependencies.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 5773067b0..8571a1928 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -5,8 +5,8 @@ channels: - conda-forge dependencies: - c-compiler -- clang-tools==16.0.1 -- clang==16.0.1 +- clang-tools==16.0.6 +- clang==16.0.6 - cmake>=3.26.4 - cuda-python>=11.7.1,<12.0a0 - 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 9bb3e5d97..aec31b3db 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -5,8 +5,8 @@ channels: - conda-forge dependencies: - c-compiler -- clang-tools==16.0.1 -- clang==16.0.1 +- clang-tools==16.0.6 +- clang==16.0.6 - cmake>=3.26.4 - cuda-nvcc - cuda-python>=12.0,<13.0a0 diff --git a/dependencies.yaml b/dependencies.yaml index cbb88ab5f..7d9af48cf 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -168,8 +168,8 @@ dependencies: - gcovr>=5.0 - output_types: conda packages: - - clang==16.0.1 - - clang-tools==16.0.1 + - clang==16.0.6 + - clang-tools==16.0.6 docs: common: - output_types: conda From 931f407673bcaa494aeb61e292df9849defad6d0 Mon Sep 17 00:00:00 2001 From: ptaylor Date: Thu, 21 Sep 2023 12:52:18 -0700 Subject: [PATCH 55/56] switch workflow to branch-23.10 --- .github/workflows/pr.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index d4bd28300..95ac72d59 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -78,7 +78,7 @@ jobs: script: ci/test_wheel.sh devcontainer: secrets: inherit - uses: rapidsai/shared-action-workflows/.github/workflows/build-in-devcontainer.yaml@fea/devcontainers + uses: rapidsai/shared-action-workflows/.github/workflows/build-in-devcontainer.yaml@branch-23.10 with: build_command: | sccache -z; From 0b3ee78e5f557535cadbac6009db3a6bade85f51 Mon Sep 17 00:00:00 2001 From: Paul Taylor <178183+trxcllnt@users.noreply.github.com> Date: Tue, 26 Sep 2023 10:02:13 -0700 Subject: [PATCH 56/56] Update ci/release/update-version.sh Co-authored-by: AJ Schmidt --- ci/release/update-version.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/release/update-version.sh b/ci/release/update-version.sh index 903b7c081..8b7f07167 100755 --- a/ci/release/update-version.sh +++ b/ci/release/update-version.sh @@ -61,6 +61,6 @@ sed_runner "s/RAPIDS_VERSION_NUMBER=\".*/RAPIDS_VERSION_NUMBER=\"${NEXT_SHORT_TA # .devcontainer files find .devcontainer/ -type f -name devcontainer.json -print0 | while IFS= read -r -d '' filename; do - sed_runner "s@rapidsai/devcontainers:[0-9.]*@rapidsai/devcontainers:${NEXT_FULL_TAG}@g" "${filename}" - sed_runner "s@rapidsai/devcontainers/features/rapids-build-utils:[0-9.]*@rapidsai/devcontainers/features/rapids-build-utils:${NEXT_SHORT_TAG_PEP440}@" + sed_runner "s@rapidsai/devcontainers:[0-9.]*@rapidsai/devcontainers:${NEXT_SHORT_TAG}@g" "${filename}" + sed_runner "s@rapidsai/devcontainers/features/rapids-build-utils:[0-9.]*@rapidsai/devcontainers/features/rapids-build-utils:${NEXT_SHORT_TAG_PEP440}@" "${filename}" done