Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cuDF devcontainers #14015

Merged
merged 98 commits into from
Nov 20, 2023
Merged
Show file tree
Hide file tree
Changes from 96 commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
f6c5572
add devcontainers
trxcllnt Jul 17, 2023
ad9b2ac
fix tag for CUDA 12.0
trxcllnt Jul 17, 2023
f63f6df
use CUDA 11.8 for now
trxcllnt Jul 17, 2023
fb2f8b4
default to CUDA 12.0
trxcllnt Jul 18, 2023
fa72ecf
Merge branch 'branch-23.08' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Jul 18, 2023
2f0b4d3
install cuda-cupti-dev in conda environment
trxcllnt Jul 18, 2023
071da97
remove MODIFY_PREFIX_PATH so the driver is found
trxcllnt Jul 18, 2023
10c670d
install cuda-nvtx-dev in conda environment
trxcllnt Jul 18, 2023
dd38b67
update conda env
trxcllnt Jul 18, 2023
a44810a
add MODIFY_PREFIX_PATH back
trxcllnt Jul 20, 2023
a54a66b
temporarily default to my branch with the fix for MODIFY_PREFIX_PATH …
trxcllnt Jul 20, 2023
6839598
remove temporary rapids-cmake pin
trxcllnt Jul 20, 2023
ad992ae
build all RAPIDS archs to take maximum advantage of sccache
trxcllnt Jul 20, 2023
81d6b96
add clangd and nsight vscode customizations
trxcllnt Jul 21, 2023
5c5b4e3
copy in default clangd config
trxcllnt Jul 21, 2023
d635a9e
remove options for pip vs. conda unless using the launch script
trxcllnt Jul 21, 2023
e8bccc8
fix unified mounts
trxcllnt Jul 21, 2023
9f98620
ensure dirs exist before mounting
trxcllnt Jul 21, 2023
cde4cca
add compile_commands to .gitignore
trxcllnt Jul 22, 2023
c8d91a9
allow defining cudf and cudf_kafka include dirs via envvars
trxcllnt Jul 25, 2023
ec3b01a
add kvikio
trxcllnt Jul 26, 2023
f7ce170
Merge branch 'branch-23.08' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Jul 28, 2023
c4e45ac
use volumes for isolated devcontainer source dirs
trxcllnt Jul 31, 2023
9c3ad57
update README.md
trxcllnt Jul 31, 2023
9d89b17
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 2, 2023
02fbbe1
update to rapidsai/devcontainers 23.10
trxcllnt Aug 2, 2023
e28b3fd
update rapids-build-utils version to 23.10
trxcllnt Aug 2, 2023
107dfb6
add .clangd config file
trxcllnt Aug 3, 2023
97fa117
update RAPIDS versions in devcontainer files
trxcllnt Aug 3, 2023
31ba08c
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 3, 2023
cc415e9
ensure the directory for the generated jitify kernels is exists after…
trxcllnt Aug 3, 2023
82da4b5
add clang and clang-tools 16
trxcllnt Aug 3, 2023
a9c272e
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 8, 2023
f44c8e5
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 11, 2023
625b487
remove isolated and unified devcontainers, make single the default
trxcllnt Aug 14, 2023
9eec28e
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 14, 2023
6cea28d
separate CUDA 11.8 and 12.0 devcontainers
trxcllnt Aug 14, 2023
04d71f6
fix version string for requirements.txt
trxcllnt Aug 14, 2023
4f9889f
update conda envs
trxcllnt Aug 14, 2023
3aac589
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 16, 2023
a18e22f
clean up envvars, mounts, and build args, add codespaces post-attach …
trxcllnt Aug 17, 2023
0d615a0
consolidate common vscode customizations
trxcllnt Aug 17, 2023
6926527
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 17, 2023
7c23577
enumerate CUDA 11 packages, include up to CUDA 12.2
trxcllnt Aug 22, 2023
debbb9c
include protoc-wheel when generating requirements.txt
trxcllnt Aug 22, 2023
3026ad2
default to cuda-python for cu11
trxcllnt Aug 22, 2023
77be302
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 22, 2023
4333f8b
separate devcontainer mounts by CUDA version
trxcllnt Aug 23, 2023
d56d4f4
add devcontainer build jobs to PR workflow
trxcllnt Aug 23, 2023
d7753da
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 23, 2023
83b00c4
use pypi.nvidia.com instead of pypi.ngc.nvidia.com
trxcllnt Aug 23, 2023
abb0a92
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 25, 2023
32b5e9c
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 30, 2023
232a9bc
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Aug 31, 2023
15c0058
fix venvs mount path
trxcllnt Aug 31, 2023
10a6f82
fix lint
trxcllnt Aug 31, 2023
c1eaa61
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 4, 2023
e1714d7
ensure rmm-cuXX is included in pip requirements
trxcllnt Sep 5, 2023
e908ed4
disable libcudf_kakfa build for now
trxcllnt Sep 5, 2023
7503732
build dask-cudf
trxcllnt Sep 5, 2023
c5bbe58
Merge branch 'branch-23.10' of https://github.com/rapidsai/cudf into …
trxcllnt Sep 7, 2023
cb3cae4
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 12, 2023
782c7f2
be more explicit in update-versions.sh, make devcontainer build requi…
trxcllnt Sep 12, 2023
b7e808e
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 12, 2023
b7acd5f
revert rename devcontainer job
trxcllnt Sep 13, 2023
e64e37b
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 13, 2023
477197b
install librdkafka-dev in pip containers so we can build libcudf_kafk…
trxcllnt Sep 13, 2023
fdf5656
separate cupy, cudf, and cudf_kafka matrices for CUDA 11 and 12
trxcllnt Sep 13, 2023
093e97c
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 13, 2023
8f7a7a7
Merge branch 'fea/devcontainers' of github.com:trxcllnt/cudf into fea…
trxcllnt Sep 13, 2023
035953c
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 18, 2023
b02271a
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 18, 2023
42b2def
add fallback include path for RMM
trxcllnt Sep 18, 2023
be8f347
fallback to CUDA_PATH if CUDA_HOME is not set
trxcllnt Sep 18, 2023
3129d0e
Merge branch 'fea/devcontainers' of github.com:trxcllnt/cudf into fea…
trxcllnt Sep 18, 2023
9a8462e
define envvars in dockerfile
trxcllnt Sep 18, 2023
c56e10e
define envvars for cudf_kafka
trxcllnt Sep 18, 2023
57199e9
build verbose
trxcllnt Sep 18, 2023
ce66054
include wheel and setuptools in requirements.txt
trxcllnt Sep 19, 2023
c500e37
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 19, 2023
ea3e9b0
Merge branch 'branch-23.10' into fea/devcontainers
trxcllnt Sep 21, 2023
70a3f06
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 21, 2023
dd911da
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 21, 2023
9eb0481
switch workflow to branch-23.10
trxcllnt Sep 21, 2023
a4e0a64
update clang-tools version to 16.0.6
trxcllnt Sep 21, 2023
7e36ddc
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 21, 2023
c2dc3a7
Merge branch 'branch-23.10' into fea/devcontainers
trxcllnt Sep 22, 2023
7e27b27
Merge branch 'branch-23.10' into fea/devcontainers
trxcllnt Sep 25, 2023
3be0aec
fix update-version.sh
trxcllnt Sep 26, 2023
ab516ba
Merge branch 'branch-23.10' of github.com:rapidsai/cudf into fea/devc…
trxcllnt Sep 26, 2023
187d38b
Merge remote-tracking branch 'upstream/branch-24.02' into fea/devcont…
bdice Nov 11, 2023
fa048c2
Use 24.02 branches.
bdice Nov 11, 2023
739c3c4
fix version numbers
trxcllnt Nov 14, 2023
bd63b1d
Merge branch 'branch-24.02' into fea/devcontainers
bdice Nov 16, 2023
772052f
Fix dependencies.yaml.
bdice Nov 17, 2023
e2cb1c1
Merge branch 'branch-24.02' into fea/devcontainers
bdice Nov 17, 2023
438c799
Update .devcontainer/Dockerfile
bdice Nov 19, 2023
c6c506b
Merge branch 'branch-24.02' into fea/devcontainers
bdice Nov 19, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# syntax=docker/dockerfile:1.5

ARG BASE
ARG PYTHON_PACKAGE_MANAGER=conda

FROM ${BASE} as pip-base

RUN apt update -y \
&& DEBIAN_FRONTEND=noninteractive apt install -y \
librdkafka-dev \
&& rm -rf /tmp/* /var/tmp/* /var/cache/apt/* /var/lib/apt/lists/*;

ENV DEFAULT_VIRTUAL_ENV=rapids

FROM ${BASE} as conda-base

ENV DEFAULT_CONDA_ENV=rapids

FROM ${PYTHON_PACKAGE_MANAGER}-base

ARG CUDA
ENV CUDAARCHS="RAPIDS"
ENV CUDA_VERSION="${CUDA_VERSION:-${CUDA}}"

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"

# cudf_kafka's setup.py needs this defined
ENV CUDF_ROOT="/home/coder/cudf/cpp/build/latest"
ENV CUDF_INCLUDE_DIR="/home/coder/cudf/cpp/include"
ENV CUDF_KAFKA_ROOT="/home/coder/cudf/cpp/libcudf_kafka/build/latest"
ENV CUDF_KAFKA_INCLUDE_DIR="/home/coder/cudf/cpp/libcudf_kafka/include"
ENV CUDA_HOME="${CUDA_HOME:-/home/coder/.conda/envs/$DEFAULT_CONDA_ENV}"
bdice marked this conversation as resolved.
Show resolved Hide resolved
35 changes: 35 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# cuDF 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 cuDF C++ and Python libraries.

## Table of Contents

* [Prerequisites](#prerequisites)
* [Host bind mounts](#host-bind-mounts)
* [Launch a Dev Container](#launch-a-dev-container)

## 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/cudf`
* `${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

To launch a devcontainer from VSCode, open the cuDF repo and select the "Reopen in Container" button in the bottom right:<br/><img src="https://user-images.githubusercontent.com/178183/221771999-97ab29d5-e718-4e5f-b32f-2cdd51bba25c.png"/>

Alternatively, open the VSCode command palette (typically `cmd/ctrl + shift + P`) and run the "Rebuild and Reopen in Container" command.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💭 thought (non-blocking): ‏ Just occurred to me that users might also appreciate instructions on building and launching the dev container without vscode? Is this supported?

37 changes: 37 additions & 0 deletions .devcontainer/cuda11.8-conda/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"build": {
"context": "${localWorkspaceFolder}/.devcontainer",
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
"args": {
"CUDA": "11.8",
"PYTHON_PACKAGE_MANAGER": "conda",
"BASE": "rapidsai/devcontainers:24.02-cpp-llvm16-cuda11.8-mambaforge-ubuntu22.04"
}
},
"hostRequirements": {"gpu": "optional"},
"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:24.2": {}
},
"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}-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/cudf,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}-cuda11.8-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent"
],
"customizations": {
"vscode": {
"extensions": [
"ms-python.flake8",
"nvidia.nsight-vscode-edition"
]
}
}
}
36 changes: 36 additions & 0 deletions .devcontainer/cuda11.8-pip/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"build": {
"context": "${localWorkspaceFolder}/.devcontainer",
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
"args": {
"CUDA": "11.8",
"PYTHON_PACKAGE_MANAGER": "pip",
"BASE": "rapidsai/devcontainers:24.02-cpp-llvm16-cuda11.8-ubuntu22.04"
}
},
"hostRequirements": {"gpu": "optional"},
"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:24.2": {}
},
"overrideFeatureInstallOrder": [
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
],
"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/cudf,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/share/${localWorkspaceFolderBasename}-cuda11.8-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent"
],
"customizations": {
"vscode": {
"extensions": [
"ms-python.flake8",
"nvidia.nsight-vscode-edition"
]
}
}
}
37 changes: 37 additions & 0 deletions .devcontainer/cuda12.0-conda/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"build": {
"context": "${localWorkspaceFolder}/.devcontainer",
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
"args": {
"CUDA": "12.0",
"PYTHON_PACKAGE_MANAGER": "conda",
"BASE": "rapidsai/devcontainers:24.02-cpp-mambaforge-ubuntu22.04"
}
},
"hostRequirements": {"gpu": "optional"},
"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:24.2": {}
},
"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}-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/cudf,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}-cuda12.0-envs,target=/home/coder/.conda/envs,type=bind,consistency=consistent"
],
"customizations": {
"vscode": {
"extensions": [
"ms-python.flake8",
"nvidia.nsight-vscode-edition"
]
}
}
}
36 changes: 36 additions & 0 deletions .devcontainer/cuda12.0-pip/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"build": {
"context": "${localWorkspaceFolder}/.devcontainer",
"dockerfile": "${localWorkspaceFolder}/.devcontainer/Dockerfile",
"args": {
"CUDA": "12.0",
"PYTHON_PACKAGE_MANAGER": "pip",
"BASE": "rapidsai/devcontainers:24.02-cpp-llvm16-cuda12.0-ubuntu22.04"
}
},
"hostRequirements": {"gpu": "optional"},
"features": {
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:24.2": {}
},
"overrideFeatureInstallOrder": [
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
],
"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/cudf,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/share/${localWorkspaceFolderBasename}-cuda12.0-venvs,target=/home/coder/.local/share/venvs,type=bind,consistency=consistent"
],
"customizations": {
"vscode": {
"extensions": [
"ms-python.flake8",
"nvidia.nsight-vscode-edition"
]
}
}
}
9 changes: 9 additions & 0 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ jobs:
- wheel-tests-cudf
- wheel-build-dask-cudf
- wheel-tests-dask-cudf
- devcontainer
- unit-tests-cudf-pandas
- pandas-tests
#- pandas-tests-diff
Expand Down Expand Up @@ -130,6 +131,14 @@ jobs:
matrix_filter: map(select(.ARCH == "amd64" and .PY_VER == "3.10" and (.CUDA_VER == "11.8.0" or .CUDA_VER == "12.0.1")))
build_type: pull-request
script: ci/test_wheel_dask_cudf.sh
devcontainer:
secrets: inherit
uses: rapidsai/shared-action-workflows/.github/workflows/[email protected]
with:
build_command: |
sccache -z;
build-all -DBUILD_BENCHMARKS=ON -DNVBench_ENABLE_CUPTI=OFF --verbose;
sccache -s;
unit-tests-cudf-pandas:
needs: wheel-build-cudf
secrets: inherit
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -173,3 +173,7 @@ jupyter_execute

# cibuildwheel
/wheelhouse

# clang tooling
compile_commands.json
.clangd/
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ repos:
^CHANGELOG.md$
)
- repo: https://github.com/rapidsai/dependency-file-generator
rev: v1.5.1
rev: v1.7.1
hooks:
- id: rapids-dependency-file-generator
args: ["--clean"]
Expand Down
6 changes: 6 additions & 0 deletions ci/release/update-version.sh
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,9 @@ NEXT_FULL_JAVA_TAG="${NEXT_SHORT_TAG}.${PATCH_PEP440}-SNAPSHOT"
sed_runner "s|<version>.*-SNAPSHOT</version>|<version>${NEXT_FULL_JAVA_TAG}</version>|g" java/pom.xml
sed_runner "s/branch-.*/branch-${NEXT_SHORT_TAG}/g" java/ci/README.md
sed_runner "s/cudf-.*-SNAPSHOT/cudf-${NEXT_FULL_JAVA_TAG}/g" java/ci/README.md

# .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_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
2 changes: 2 additions & 0 deletions conda/environments/all_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ dependencies:
- botocore>=1.24.21
- c-compiler
- cachetools
- clang-tools=16.0.6
- clang==16.0.6
- cmake>=3.26.4
- cramjam
- cubinlinker
Expand Down
2 changes: 2 additions & 0 deletions conda/environments/all_cuda-120_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ dependencies:
- botocore>=1.24.21
- c-compiler
- cachetools
- clang-tools=16.0.6
- clang==16.0.6
- cmake>=3.26.4
- cramjam
- cuda-cudart-dev
Expand Down
65 changes: 65 additions & 0 deletions cpp/.clangd
Original file line number Diff line number Diff line change
@@ -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"
6 changes: 5 additions & 1 deletion cpp/cmake/Modules/JitifyPreprocessKernels.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# =============================================================================
# Copyright (c) 2021-2022, NVIDIA CORPORATION.
# Copyright (c) 2021-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
Expand Down Expand Up @@ -54,6 +54,10 @@ function(jit_preprocess_files)
)
endfunction()

if(NOT (EXISTS "${CUDF_GENERATED_INCLUDE_DIR}/include"))
make_directory("${CUDF_GENERATED_INCLUDE_DIR}/include")
endif()

jit_preprocess_files(
SOURCE_DIRECTORY ${CUDF_SOURCE_DIR}/src FILES binaryop/jit/kernel.cu transform/jit/kernel.cu
rolling/jit/kernel.cu
Expand Down
Loading