Sparse-checkout from NVIDIA/cccl main branch to complete cccl_upstream: Added: - python/cuda_cccl/ (226 files) — Python bindings for device-level algorithms Critical for muh toolchain: cuda.compute.reduce_into, scan, radix_sort, etc. Includes 204 .py files with full test coverage for all 27 algorithms - ci/ (163 files) — Build/test infrastructure build_cub.sh, test_cub.sh, build_and_test_targets.sh, matrix.yaml Directly maps to our [INFRA-CI] and [INFRA-BUILD] items - .agent/skills/ (7 files) — NVIDIA's own agent skills for CCCL cccl-style/SKILL.md, cccl-test/SKILL.md, sass-diff/SKILL.md - docs/ (491 files) — Official CCCL documentation CI references, CMake guides, Python compute docs, libcudacxx PTX docs - test/ (12 files) — Top-level integration tests (cuda_smoke, stdpar) - Root configs: .clang-format, .clang-tidy, CONTRIBUTING.md, pyproject.toml - CLAUDE.md symlink → AGENTS.md (NVIDIA's standard) cccl_upstream now mirrors full NVIDIA/cccl structure: Before: 42M (cub + thrust + libcudacxx + cudax + c + examples + benchmarks) After: 53M (+python +ci +docs +.agent +test +configs) This completes the CCCL base needed for: - [muh-bench] items: ci/util/build_and_test_targets.sh for targeted builds - [CCCL-verify] items: python/cuda_cccl/tests/ as reference implementations - [CCCL-test] items: ci/test_cub.sh, ci/test_thrust.sh - Agent workflow: .agent/skills/ for consistent style and test patterns
125 lines
6.0 KiB
JSON
125 lines
6.0 KiB
JSON
{
|
|
"image": "rapidsai/devcontainers:26.10-cpp-mambaforge",
|
|
"runArgs": [
|
|
"--init",
|
|
"--rm",
|
|
"--name",
|
|
"${localEnv:USER:anon}-${localWorkspaceFolderBasename}-rapids-26.10-cuda13.3-conda",
|
|
"--ulimit",
|
|
"nofile=500000"
|
|
],
|
|
"hostRequirements": {
|
|
"gpu": "optional"
|
|
},
|
|
"containerEnv": {
|
|
"AWS_ROLE_ARN": "arn:aws:iam::279114543810:role/nv-gha-token-sccache-devs",
|
|
"CI": "${localEnv:CI}",
|
|
"CUDA_VERSION": "13.3",
|
|
"CUDAARCHS": "75-real",
|
|
"DEFAULT_CONDA_ENV": "rapids",
|
|
"DEVCONTAINER_UTILS_ENABLE_SCCACHE_DIST": "true",
|
|
"HISTFILE": "/home/coder/.cache/._bash_history",
|
|
"INFER_NUM_DEVICE_ARCHITECTURES": "1",
|
|
"LIBCUDF_KERNEL_CACHE_PATH": "/home/coder/cudf/cpp/build/latest/jitify_cache",
|
|
"MAX_DEVICE_OBJ_TO_COMPILE_IN_PARALLEL": "20",
|
|
"PYTHON_PACKAGE_MANAGER": "conda",
|
|
"PYTHONDONTWRITEBYTECODE": "1",
|
|
"PYTHONSAFEPATH": "1",
|
|
"PYTHONUNBUFFERED": "1",
|
|
"RAPIDS_cmake_GIT_REPO": "${localEnv:RAPIDS_cmake_GIT_REPO}",
|
|
"RAPIDS_cudf_GIT_REPO": "${localEnv:RAPIDS_cudf_GIT_REPO}",
|
|
"RAPIDS_cugraph_GIT_REPO": "${localEnv:RAPIDS_cugraph_GIT_REPO}",
|
|
"RAPIDS_cugraph_gnn_GIT_REPO": "${localEnv:RAPIDS_cugraph_gnn_GIT_REPO}",
|
|
"RAPIDS_cuml_GIT_REPO": "${localEnv:RAPIDS_cuml_GIT_REPO}",
|
|
"RAPIDS_cuopt_GIT_REPO": "${localEnv:RAPIDS_cuopt_GIT_REPO}",
|
|
"RAPIDS_cuvs_GIT_REPO": "${localEnv:RAPIDS_cuvs_GIT_REPO}",
|
|
"RAPIDS_kvikio_GIT_REPO": "${localEnv:RAPIDS_kvikio_GIT_REPO}",
|
|
"RAPIDS_LIBS": "${localEnv:RAPIDS_LIBS}",
|
|
"RAPIDS_nvforest_GIT_REPO": "${localEnv:RAPIDS_nvforest_GIT_REPO}",
|
|
"RAPIDS_raft_GIT_REPO": "${localEnv:RAPIDS_raft_GIT_REPO}",
|
|
"RAPIDS_rmm_GIT_REPO": "${localEnv:RAPIDS_rmm_GIT_REPO}",
|
|
"RAPIDS_ucxx_GIT_REPO": "${localEnv:RAPIDS_ucxx_GIT_REPO}",
|
|
"SCCACHE_BUCKET": "rapids-sccache-devs",
|
|
"SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE": "${localEnv:SCCACHE_DIST_FALLBACK_TO_LOCAL_COMPILE:true}",
|
|
"SCCACHE_DIST_MAX_RETRIES": "${localEnv:SCCACHE_DIST_MAX_RETRIES:4}",
|
|
"SCCACHE_DIST_REQUEST_TIMEOUT": "${localEnv:SCCACHE_DIST_REQUEST_TIMEOUT:7140}",
|
|
"SCCACHE_IDLE_TIMEOUT": "${localEnv:SCCACHE_IDLE_TIMEOUT:0}",
|
|
"SCCACHE_REGION": "us-east-2",
|
|
"SCCACHE_S3_USE_PREPROCESSOR_CACHE_MODE": "true",
|
|
"SCCACHE_SERVER_LOG": "${localEnv:SCCACHE_SERVER_LOG:sccache=debug}"
|
|
},
|
|
"initializeCommand": [
|
|
"/bin/bash",
|
|
"-c",
|
|
"mkdir -m 0755 -p ${localWorkspaceFolder}/.{aws,cache,config,local/state} ${localWorkspaceFolder}/ci/rapids/.{conda,log/devcontainer-utils} ${localWorkspaceFolder}/ci/rapids/.repos/{rmm,kvikio,ucxx,cudf,rapidsmpf,raft,cuvs,nvforest,cuml,cugraph,cugraph-gnn,cuopt}"
|
|
],
|
|
"postCreateCommand": [
|
|
"/bin/bash",
|
|
"-c",
|
|
"if [ ${CI:-false} = 'false' ]; then . /home/coder/cccl/ci/rapids/post-create-command.sh; fi; if test -z \"${DISABLE_SCCACHE:+x}\"; then echo \"export SCCACHE_DIST_URL='https://$(uname -m | sed -e 's/x86_/amd/' -e 's/aarch/arm/').linux.sccache.rapids.nvidia.com'\" >> /home/coder/.bashrc; fi"
|
|
],
|
|
"postAttachCommand": [
|
|
"/bin/bash",
|
|
"-c",
|
|
"if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"
|
|
],
|
|
"workspaceFolder": "/home/coder/cccl",
|
|
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/cccl,type=bind",
|
|
"mounts": [
|
|
"source=/etc/timezone,target=/etc/timezone,type=bind",
|
|
"source=/etc/localtime,target=/etc/localtime,type=bind",
|
|
"source=${localWorkspaceFolder}/.aws,target=/home/coder/.aws,type=bind",
|
|
"source=${localWorkspaceFolder}/.cache,target=/home/coder/.cache,type=bind",
|
|
"source=${localWorkspaceFolder}/.config,target=/home/coder/.config,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/rmm,target=/home/coder/rmm,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/kvikio,target=/home/coder/kvikio,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/ucxx,target=/home/coder/ucxx,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/cudf,target=/home/coder/cudf,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/rapidsmpf,target=/home/coder/rapidsmpf,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/raft,target=/home/coder/raft,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/cuvs,target=/home/coder/cuvs,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/nvforest,target=/home/coder/nvforest,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/cuml,target=/home/coder/cuml,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/cugraph,target=/home/coder/cugraph,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/cugraph-gnn,target=/home/coder/cugraph-gnn,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.repos/cuopt,target=/home/coder/cuopt,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.conda,target=/home/coder/.conda,type=bind",
|
|
"source=${localWorkspaceFolder}/ci/rapids/.log/devcontainer-utils,target=/var/log/devcontainer-utils,type=bind"
|
|
],
|
|
"features": {
|
|
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils:26.10": {}
|
|
},
|
|
"overrideFeatureInstallOrder": [
|
|
"ghcr.io/rapidsai/devcontainers/features/rapids-build-utils"
|
|
],
|
|
"customizations": {
|
|
"vscode": {
|
|
"extensions": [
|
|
"augustocdias.tasks-shell-input",
|
|
"ms-python.flake8",
|
|
"nvidia.nsight-vscode-edition"
|
|
],
|
|
"files.watcherExclude": {
|
|
"**/build/**": true,
|
|
"**/_skbuild/**": true,
|
|
"**/target/**": true,
|
|
"/home/coder/.aws/**/*": true,
|
|
"/home/coder/.cache/**/*": true,
|
|
"/home/coder/.conda/**/*": true,
|
|
"/home/coder/.local/share/**/*": true,
|
|
"/home/coder/.vscode-server/**/*": true
|
|
},
|
|
"search.exclude": {
|
|
"**/build/**": true,
|
|
"**/_skbuild/**": true,
|
|
"**/*.code-search": true,
|
|
"/home/coder/.aws/**/*": true,
|
|
"/home/coder/.cache/**/*": true,
|
|
"/home/coder/.conda/**/*": true,
|
|
"/home/coder/.local/share/**/*": true,
|
|
"/home/coder/.vscode-server/**/*": true
|
|
}
|
|
}
|
|
}
|
|
}
|