我正在使用 Fedora 39 并在 conda 环境(不是基础环境)中使用
conda install
安装了 cudatoolkit。当在 conda env 中时,我可以执行 nvcc foo.cu && ./a.out
并且效果很好。 (当我这样做 which nvcc
时,它会说 ~/.conda/envs/foo-conda-env/bin/nvcc
)。
但是,当使用 C/C++ 扩展和 NSight 插件在 VSCode 中编辑 cu 源文件时,智能感知语法突出显示似乎是普通的 C++,而不是 Cuda:请参见屏幕截图。
特别注意
__global__
带有下划线。当然,也没有自动完成功能:当我输入 cudaDevi
时,它不会给我一个以 cudaDeviceSynchronize
作为元素之一的菜单。
这并不奇怪:我猜如果我使用 nvidia 的存储库将其安装到
/usr/bin
,以便 bin
以及库和标头都自动位于路径中,那么语法突出显示就会正常工作。但如果是这样,我如何告诉 Nsight 扩展在哪里查找 nvcc
和头文件或其他文件,以便它可以正确地语法突出显示?我尝试在 VScode 中查看用户设置(UI),但完全没有关于 NSight 的信息。