Skip to content

Commit 754620a

Browse files
committed
Enhance Clang devcontainer following CCCL patterns
- Add build volume management for better performance - Include additional VSCode extensions (clang-format, nsight, cmake-tools) - Enhanced editor settings with format-on-save and better clangd config - Make GPU requirement optional for better compatibility - Add build infix environment variable for consistency
1 parent 9c26e48 commit 754620a

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

.devcontainer/cuda12.8-llvm16/devcontainer.json

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@
22
"shutdownAction": "stopContainer",
33
"image": "rapidsai/devcontainers:25.08-cpp-llvm16-cuda12.8-ubuntu22.04",
44
"hostRequirements": {
5-
"gpu": true
5+
"gpu": "optional"
66
},
77
"initializeCommand": [
88
"/bin/bash",
99
"-c",
10-
"mkdir -m 0755 -p ${localWorkspaceFolder}/.{aws,cache,config}"
10+
"mkdir -m 0755 -p ${localWorkspaceFolder}/.{aws,cache,config}; mkdir -m 0755 -p ${localWorkspaceFolder}/build; if test -z ${localEnv:WSLENV}; then docker volume create --driver local --opt type=none --opt device=${localWorkspaceFolder}/build --opt o=bind cuco-build; else docker volume create cuco-build; fi;"
11+
],
12+
"postAttachCommand": [
13+
"/bin/bash",
14+
"-c",
15+
"if [ ${CODESPACES:-false} = 'true' ]; then . devcontainer-utils-post-attach-command; fi"
1116
],
1217
"containerEnv": {
1318
"SCCACHE_REGION": "us-east-2",
@@ -17,24 +22,36 @@
1722
"DEVCONTAINER_NAME": "cuda12.8-llvm16",
1823
"CUCO_CUDA_VERSION": "12.8",
1924
"CUCO_HOST_COMPILER": "llvm",
20-
"CUCO_HOST_COMPILER_VERSION": "16"
25+
"CUCO_HOST_COMPILER_VERSION": "16",
26+
"CUCO_BUILD_INFIX": "cuda12.8-llvm16",
27+
"HOST_WORKSPACE": "${localWorkspaceFolder}"
2128
},
2229
"workspaceFolder": "/home/coder/${localWorkspaceFolderBasename}",
2330
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent",
2431
"mounts": [
2532
"source=${localWorkspaceFolder}/.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
2633
"source=${localWorkspaceFolder}/.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
27-
"source=${localWorkspaceFolder}/.config,target=/home/coder/.config,type=bind,consistency=consistent"
34+
"source=${localWorkspaceFolder}/.config,target=/home/coder/.config,type=bind,consistency=consistent",
35+
"source=cuco-build,target=/home/coder/cuCollections/build"
2836
],
2937
"customizations": {
3038
"vscode": {
3139
"extensions": [
32-
"llvm-vs-code-extensions.vscode-clangd"
40+
"llvm-vs-code-extensions.vscode-clangd",
41+
"seaube.clangformat",
42+
"nvidia.nsight-vscode-edition",
43+
"ms-vscode.cmake-tools"
3344
],
3445
"settings": {
46+
"editor.defaultFormatter": "seaube.clangformat",
47+
"editor.formatOnSave": true,
48+
"clang-format.executable": "/usr/bin/clang-format",
3549
"clangd.arguments": [
50+
"--header-insertion=never",
3651
"--compile-commands-dir=${workspaceFolder}/build/latest"
37-
]
52+
],
53+
"files.eol": "\n",
54+
"files.trimTrailingWhitespace": true
3855
}
3956
}
4057
},

0 commit comments

Comments
 (0)