我在64位Windows上安装了Visual Studio 2008。尝试通过在CUDA->命令行 - >其他选项中添加--ptxas-options="-v"
来构建CUDA程序。我仍然没有在this回答中看到ptxas信息。
以下是"所有选项"中的数据。 CUDA部分 - >命令行部分:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include" -I"C:\Documents and Settings\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\inc" -O0 -arch compute_10 -code compute_10 --host-compilation C++ -c -m 64 -o "x64\Release\CUDA_Dissertation.obj" -odir "x64\Release" -ext none -int real --ptxas-options="-v" "c:\Documents and Settings\shubham\My Documents\Visual Studio 2008\Projects\MTP\CUDA_Dissertation\CUDA_Dissertation.vcproj"
是否有可能某些其他标志正在抑制ptxas标志?或者我的构建配置(Release x64)有什么用呢?或者启用/禁用其他一些选项。我尝试用命令提示符编译它,使用几乎相同的命令:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include" -I"C:\Documents and Settings\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\inc" -O0 -arch compute_10 -code compute_10 --host-compilation C++ -c -m 64 -o "x64\Release\CUDA_Dissertation.obj" -odir "x64\Release" -ext none -int real --ptxas-options="-v" main.cu
使用与Visual Studios相同的输出(警告和内容)编译,但没有ptxas信息。
由于
答案 0 :(得分:1)
我刚刚看到这样的错误,使用toolkit 4.0它提供了正确的输出,而5.0则没有。我将该命令行选项从全局项目设置移动到.cu文件的属性,它开始工作。 Visual Studio 2005。
答案 1 :(得分:0)
您没有看到--ptxas-options=-v
的任何详细输出的原因是ptxas没有编译任何内容。
在您的nvcc调用中:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe"
...
-arch compute_10 -code compute_10
...
您将-code
选项指定为-code compute_10
,其中只包含PTX架构,而不是真正的 sm_*
架构。这意味着ptxas
没有将PTX代码编译成二进制代码; PTX代码仅包含在输出中,以便稍后进行JIT编译。
要查看ptxas信息,请尝试将-code
选项更改为-code compute_10,sm_10
。
因此,在您的情况下,您的nvcc调用将是:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -ccbin "c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include" -I"C:\Documents and Settings\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common\inc" -O0 -arch compute_10 -code compute_10,sm_10 --host-compilation C++ -c -m 64 -o "x64\Release\CUDA_Dissertation.obj" -odir "x64\Release" -ext none -int real --ptxas-options="-v" "c:\Documents and Settings\shubham\My Documents\Visual Studio 2008\Projects\MTP\CUDA_Dissertation\CUDA_Dissertation.vcproj"
这有帮助吗?