由于我在Nvidia forums没有得到任何帮助(请参阅帖子底部的帖子),看来我不是唯一一个遇到类似问题的人,我会在这里尝试一下
我尝试编译Cuda SDK 4.0示例以及非常好的tutorial by Ade Miller。但编译“.cu”文件将无法正常工作。
这是编译器调用的(示例性)命令:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe"
-gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env
--cl-version 2010 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC bin\x86_amd64"
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -G0
--keep-dir "x64\Debug" -maxrregcount=0 --machine 64 --compile -D_NEXUS_DEBUG
-g -Xcompiler "/EHsc /nologo /Od /Zi /MDd " -o "x64\Debug\Hello.cu.obj"
"D:\Code\CUDA\Test_Cuda_4_0\Test_Cuda_4_0\Hello.cu"
这是我一直得到的奇怪的错误信息。
nvcc fatal : Compiler 'cl' in PATH different than the one specified with -ccbin
编辑:更准确一点:Visual Studio告诉我命令没有成功(“退出代码-1”) - >要看到此错误消息,我必须自己在命令行中调用该命令。
1)为什么nvcc
要关心环境变量中的路径与命令行选项指定的路径不同?如果它会关心,这不会使命令行选项完全无用吗?
2)如何修复;)?
我使用Win7 64Bit,VS2010 SP1和以下nvidia版本: cudatoolkit_4.0.17_win_64 devdriver_4.0_winvista-win7_64_270.81_general gpucomputingsdk_4.0.19_win_64
非常感谢你的帮助!
答案 0 :(得分:1)
尝试使用传统方法开始编写CUDA程序,如“入门指南”(复制样本)中所述。要解决上述问题,您必须将其添加为环境变量。但由于SDK示例已经链接,因此它们不会产生问题。
答案 1 :(得分:0)
我有类似的问题。之前我在cl.exe
中复制C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin
以使用nvcc.exe
测试多个参数,并忘记从此目录中删除此文件。我删除了这个文件,一切都很好。 PATH
我的问题的目的实际上是针对此路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin
并且在环境变量中不是PATH
。