CUDA:尝试创建CUDASW++;
我不断得到:CUDA:尝试创建CUDASW++;,cuda,Cuda,我不断得到: nvcc fatal : Value 'sm_20' is not defined for option 'gpu-name' 我的GPU是GTX 590,实际上是2.0版,所以这不是问题所在。我切换到了较低的版本(sm_20),在.h文件中出现了大量错误 有什么想法可以试试吗?我正在使用cuda 5.0。您可以尝试compute\u 20而不是sm\u 20 查看CUDA 5.0中的nvcc文档,没有提到--gpu name命令行选项。我想这是一个旧选项,您可能应该改用-a
nvcc fatal : Value 'sm_20' is not defined for option 'gpu-name'
我的GPU是GTX 590,实际上是2.0版,所以这不是问题所在。我切换到了较低的版本(sm_20),在.h文件中出现了大量错误
有什么想法可以试试吗?我正在使用cuda 5.0。您可以尝试
compute\u 20
而不是sm\u 20
查看CUDA 5.0中的nvcc文档,没有提到
--gpu name
命令行选项。我想这是一个旧选项,您可能应该改用-arch
和/或-code
选项。值sm_20
很好,但nvcc选项名称已更改。非常旧版本的nvcc在编译器选项-arch
中使用了长名称--gpu name
。在较新的版本中,-arch
的长名称已改为-gpu架构
(我想大约是从CUDA 3.0开始)。另请参阅NVCC文档。您确定正在使用cuda 5.0吗?我不认为cuda 5中的nvcc认可这个选项。如果您认为正在使用cuda 5.0(nvcc--version
),我会得到类似于nvcc致命:未知选项“gpu名称”
)的响应然后仔细检查makefile正在使用的路径,看看是否有旧版本的nvcc挂在某处。@Robert Crovella:看来此应用程序的makefile是使用旧版本的nvcc编写的,其中选项-arch
的长名称是--gpu name
(我相信这是CUDA 3.0之前的情况;在CUDA的早期版本中,它肯定有这么长的名字)。此后,-arch
编译器选项的长名称已更改为--gpu架构
,应用程序的生成文件将必须相应调整。@njuffa同意。但海报上说他们已经安装了cuda 5。如果我将--gpu名称
作为选项传递(可能是旧的生成文件正在执行此操作)对于cuda 5 nvcc,我没有收到海报上显示的错误消息。该错误消息表明nvcc包含--gpu name
选项,但不包含参数sm_20
,这将与实际的nvcc版本2.1或类似版本一致。cuda 5中的nvcc无法生成特定的消息ge,我不这么认为。我同意makefile仍然是一团糟。我试图指出可能有两个问题。@Robert Crovella感谢您的澄清。我错过了更精彩的一点,可能不是一个而是两个不同的问题结合在一起。