CUDA v6.5 NVCC 与 VS 2013 失败,神秘味精
cuda v6.5 nvcc with VS 2013 failed, mysterious msg
刚刚升级到CUDA v6.5并在Win 7下安装了Visual Studio 2013 Community。一些用于在 CUDA 6.0 和 VS 2008 中编译的代码现在失败了,并显示此神秘消息,
"文件名、目录名或卷标语法不正确。"
它甚至不是编译器错误消息。所以想知道出了什么问题?
编译命令是
nvcc -gencode arch=compute_30,code=sm_30 tt-log-limit.cu -lcublas -lcurand -o lgl
我的配置与平时有点不同,我在 F 驱动器上安装了 CUDA
和 VS 2013 Community
,如我的PATH
所示,
PATH=F:ProgramsNVIDIA GPU Computing ToolkitCUDAv6.5bin;F:ProgramsNVIDIA GPU Computing ToolkitCUDAv6.5libnvvp;;C:Program FilesHaskellbin;F:ProgramsHaskell2014.2.0.0libextralibsbin;F:ProgramsHaskell2014.2.0.0bin;C:Rtoolsgcc-4.6.3bin;C:Rtoolsbin;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Anaconda;C:AnacondaScripts;C:Program FilesMATLABR2011bruntimewin64;C:Program FilesMATLABR2011bbin;F:Chome;C:Program Files (x86)Javajre7bin;C:ProgramDataOracleJavajavapath;F:ProgramsHaskell2014.2.0.0mingwbin;C:libgsl-1.8lib;C:libgsl-1.8include;C:libgsl-1.8bin;C:Program FilesMicrosoft Windows Performance Toolkit;C:Program Files (x86)Windows Kits8.1Windows Performance Toolkit;C:Program Files (x86)Microsoft SDKsTypeScript1.0;C:Program FilesMicrosoft SQL Server120ToolsBinn;F:Programsnodejs;F:ProgramsMSVS13VCbinamd64;F:ProgramsMSVS13VCbin;C:MikTexmiktexbin;C:UsersrspaceAppDataLocalProgramsGitcmd;C:UsersrspaceAppDataRoamingnpm
nvcc 和 cl 的版本如下所示:
nvcc: NVIDIA (R) Cuda 编译器驱动程序版权所有 (c) 2005-2014 英伟达公司构建于 Fri_Jul_25_06:28:08_CDT_2014Cuda 编译工具,版本 6.5,V6.5.13
Microsoft (R) C/C++ 优化编译器版本 18.00.31101 for x64版权所有 (C) Microsoft 公司。 保留所有权利。
经过几轮卸载和重新启动后,我找到了修复程序。正如在其他地方观察到的那样,CUDA有一些硬编码的路径,因此Visual Studio的位置很重要。
我完全删除了 CUDA v6.5 和 VS 2013,然后重新安装了它们。这次我让他们在C盘上占据默认位置。所以,CUDA 安装在
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5
和 VS 在
C:\Program Files (x86)\Microsoft Visual Studio 12.0
这解决了问题。我的 .cu 代码编译没有故障。
我在 Windows 9.1 中的 cuda 10 中遇到了同样的问题。
当我打开快速环境编辑器时,我看到 9.1 的 cuda 路径被标记为红色无效。(尽管当我复制粘贴有问题的路径时,它打开了正确的文件夹)。
我最终从 cuda 9.0 的(有效)路径复制粘贴,将 0 更改为 1。成功了。也许 Cuda 用非法的空格字符或其他东西创建了路径。
- 如果没有malloc,链表实现将失败
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- 视图中的参数推导失败:take_while
- 链接到自行创建的dll失败
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- gcc和c++17的过载解析失败
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- 在WSL:configure_file上对config_file的每次调用都失败:配置文件时出现问题
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- Visual Studio 2013 标头包含失败
- CUDA v6.5 NVCC 与 VS 2013 失败,神秘味精
- 在 VisualStudio 2013 中,扣除失败,第一个模板参数是特定类型(反过来是任意模板化的)
- 在Visual C++2013中使用wifstrem进行Shift JIS解码失败
- [微软 VS 2013]C++在删除运算符"Debug Assertion Failed!"时失败
- Visual Studio(2013)单元测试失败,C0000005
- C2660: _splitpath_s在Visual Studio 2013中因std::array错误而失败
- 带有模板返回类型的虚基函数:编译器在使用pointtype作为模板参数的派生类时失败(MSVC 2013)