c-从命令行编译CUDA代码

我正在尝试使用以下语法从命令行编译CUDA代码:

nvcc -c MyFile.cu -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin"

我安装了CUDA Toolkit 5.5版以及Visual C 2010 Express.我没有完整版的Visual Studio.

我收到以下错误消息:

nvcc : fatal error : nvcc cannot find a supported version of Microsoft Visual Studio. Only the versions 2008, 2010, and 2012 are supported

我见过先例,例如在此线程中使VC2010 Express与CUDA Toolkit 5.0一起编译.

https://devtalk.nvidia.com/default/topic/535527/?comment=3762165

因此,我无法理解会有什么关键差异,仅因为它是CUDA 5.5而不是5.0.是VC Express而不是VC Professional是否会有所作为?为什么在编译方面如此重要? Pro和Express是否真的使用完全不同的编译器?

解决方法:

我还不能发表评论,我不知道这是否是正确答案,因为我没有2010 Express.因此,为了帮助我,我将尝试给出答案.

我可以为您提供我的编译行的开始,它与您的稍有不同:

set CUDAFE_FLAGS=--sdk_dir "C:\Program Files (x86)\Windows Kits\8.0\"
"C:\_work\API\CUDA\bin\nvcc.exe" --use-local-env --cl-version 2012 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64"        --keep-dir x64\Prod -maxrregcount=0  --machine 64 

因此,我希望您将路径更改为您的路径,并将cl版本也更改为

"C:\_work\API\CUDA\bin\nvcc.exe" --use-local-env --cl-version 2010 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\cl.exe" --machine 32

请注意,我也尝试将其更改为32位.我认为这就是您正在运行的.

干杯

上一篇:android-市场上的Nexus 5,Nexus7和Nexus10设备是否直接支持RenderScript GPU计算?


下一篇:c – CUDA流销毁和CudaDeviceReset