Issues with IDE Setup documentation and VSCode IntelliSense navigation in `__device__` code
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.5k
- Forks
- 2.1k
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 7
Description
I am trying to set up my local development environment following the documentation at IDE Setup, but I have encountered a few issues regarding the configuration correctness and IDE features (VSCode + Nsight Visual Studio Code Edition + C/C++ extension).
1. Potential documentation error regarding nvcc flags
The documentation mentions configuration options that seem to include -xcuda with Compiler: /usr/local/cuda/bin/nvcc. However, nvcc does not appear to support the -xcuda flag.
Could you please verify if the documentation is outdated or if this flag is intended for a specific compiler setup that isn't clearly distinguished?
2. "Go to Definition" fails inside __device__ functions
I am using VSCode with the Nsight Visual Studio Code Edition plugin and have configured c_cpp_properties.json as suggested.
- Working: I can successfully use
Ctrl + Left Click(Go to Definition) on CuTe structures likeTiledCopyandThrCopywhen they are used inside themainfunction (host code). - Not Working: The same "Go to Definition" feature fails when clicking on
TiledCopyorThrCopyinside__device__functions or kernels. The IDE does not seem to resolve the definition correctly in the device context.
Request
Could you please share a working .vscode configuration (specifically c_cpp_properties.json or settings.json) that is verified to support full code navigation (Go to Definition) for CuTe/Cutlass structures within both host and device code? Here is my configuration:
// .vscode/c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/src/cutlass/include",
"${workspaceFolder}/src/cutlass/tools/util/include",
"${workspaceFolder}/src/cutlass/examples/common"
],
"defines": [
"__CUDACC__",
"__NVCC__",
"__clang__",
"__CUDACC_VER_MAJOR__=12",
"__CUDACC_VER_MINOR__=8",
"__CUDA_ARCH__=890",
"__CUDA_ARCH_FEAT_SM89_ALL"
],
"compilerPath": "/usr/local/cuda/bin/nvcc",
"cStandard": "gnu17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
Thanks!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the IDE Setup documentation at docs.nvidia.com/cutlass/media/docs/cpp/ide_setup.html and the supplied .vscode/c_cpp_properties.json configuration. Verify whether -xcuda is valid with /usr/local/cuda/bin/nvcc, then reproduce Go to Definition for TiledCopy and ThrCopy in host and device code. Done means the documentation is corrected and a verified configuration or documented limitation is provided.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, vscode
- Domain
- developer-experience, documentation, tooling
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100