Visual Studio Nsight“Cuda Toolkit V7.5 目录不存在”错误
Posted
技术标签:
【中文标题】Visual Studio Nsight“Cuda Toolkit V7.5 目录不存在”错误【英文标题】:Visual Studio Nsight "Cuda Toolkit V7.5 directory does not exist" Error 【发布时间】:2016-01-20 06:13:26 【问题描述】:我正在尝试在 windows 10 中开始对 CUDA 进行编程。我已经安装了 Visual Studio 2013 社区版,并且我还从 NVIDIA 网站下载并安装了适用于 windows 平台的 CUDA 工具包 7.5。安装和与 Visual Studio 集成的过程一切顺利,我可以在 Visual Studio 中创建一个新项目以使用 CUDA Runtime 7.5 运行。 但是当我尝试构建项目时,我收到了一些错误,包括以下内容:
Error 1 error : The CUDA Toolkit v7.5 directory '' does not exist.
Please verify the CUDA Toolkit is installed properly or define the CudaToolkitDir
property to resolve this error. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 7.5.targets 511 9 Cuda1
我检查了以下路径,我可以在那里找到以下文件:
提到的“CUDA 7.5.targets”文件位于那里,我不明白为什么它继续给出以下错误。我还将项目属性中的自定义目录路径设置为错误中提到的路径,它也不起作用。如果您能帮我解决这个问题,我将不胜感激。
【问题讨论】:
我不使用 Visual Studio Nsight,但我认为缺少的目录是未在CudaToolkitDir
as 系统(用户)路径中正确指定的“CUDA Toolkit v7.5”
@pQB 可能是对的。我有一些 CUDA 的系统变量: CUDA_TOOLKIT_ROOT_DIR=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5 , CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5 , CUDA_PATH_V6_5=C: \Program Files\NVIDIA GPU 计算工具包\CUDA\v6.5 。你有这样的东西吗?
【参考方案1】:
我发现了问题,它与安装 CUDA 工具包有关。为了解决这个问题,我做了以下事情:
手动删除了此cuda安装程序安装的所有软件,包括nvidia toolkit、Nsight for VS、显卡驱动等 手动从“程序文件”和“程序文件 x86”中删除了与 nvidia 相关的文件夹 开始全新安装 CUDA 工具包,使用 Express 模式现在代码编译并运行没有问题。
【讨论】:
【参考方案2】:在纽卡斯尔大学的 repo 上找到了更好的解决方案: https://research.ncl.ac.uk/game/mastersdegree/workshops/startingwithcuda/starting_cuda.pdf
它包括将您的自定义 Cuda Toolkit 目录分配从 MSVstudio 文件 CUDAxxx.props 复制到 CUDAxxx.targets
从 PDF 开始后,我的构建工作正常。
以管理员身份使用另一个编辑器(npp 或 VsCode)来编辑 CUDAxxx.targets 文件(它与 MVS 无关)。 保存 CUDAxxx.targets 文件后运行构建
'xxx' 代表你的 CUDA 版本。
观察:问题是针对 CUDA 7.5 和 MVS 2013,但截至当前日期(2018 年 12 月 5 日)自定义安装 CUDA 工具包时该错误仍然存在,并且来自 NCL UK 的 pdf 解决方案仍然有效。
【讨论】:
以上是关于Visual Studio Nsight“Cuda Toolkit V7.5 目录不存在”错误的主要内容,如果未能解决你的问题,请参考以下文章
win10 visual studio 2017环境中安装CUDA8
使用单 GPU 和 Visual Studio 进行 Cuda 调试
为 Visual Studio 2010 安装 nsight
NSight (NVIDIA) 无法在 Visual Studio 中使用“暂停和捕获帧”功能正常工作