2013-05-31 42 views
0

我不断收到:CUDA:试图NVCC致命错误时做出CUDASW ++

nvcc fatal : Value 'sm_20' is not defined for option 'gpu-name' 

我的GPU是GTX 590和的确是2.0的版本,所以这不是问题。我切换到较低版本(sm_20),并获得大量的错误.h文件。

有什么想法的想法吗?我正在使用cuda 5.0。

+0

值'sm_20'很好,但nvcc选项名称已更改。非常旧的版本的nvcc为编译器选项“-arch”使用长名称“--gpu-name”。 '-arch'的长名称已经更新为' - gpu-architecture'(因为在CUDA 3.0中,我认为)。另见NVCC文件。 – njuffa

+0

你确定你使用的是cuda 5.0吗?我不认为cuda 5中的nvcc认可这个选项。我得到的响应如'nvcc fatal:未知选项'gpu-name''如果您认为您使用的是cuda 5.0('nvcc --version'),那么请仔细检查makefile所使用的路径,看看是否有旧版本的nvcc挂在某处。 –

+0

@Robert Crovella:看起来这个应用程序的Makefile是使用较旧版本的nvcc编写的,其中'-arch'选项的长名称是'--gpu-name'(我相信这是CUDA之前的情况3.0或其他版本;它在CUDA的早期版本中确实有这么长的名字)。 '-arch'编译器选项的长名称已经改为'--gpu-architecture',应用程序的Makefile将不得不相应地调整。 – njuffa

回答

1

你可以试试compute_20而不是sm_20
查看CUDA 5.0中的nvcc文档,未提及--gpu-name命令行选项。我想这是一个旧选项,你应该使用-arch和/或-code选项。