为什么nvlink警告我缺少sm_20(计算能力2.0)对象代码?

时间:2016-02-12 13:00:41

标签: cuda linker compute-capability nvlink

我正在使用带有GTX Titan卡的计算机上使用CUDA 6.5(计算能力3.5)。我只使用-gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35构建代码 - 当我链接我的二进制文件时,nvlink说:

nvlink warning : SM Arch ('sm_20') not found in '/local/eyalroz/src/foo/CMakeFiles/tester.dir/src/./tester_generated_main.cu.o'

为什么要警告我这件事?对于我不知道的事情,我需要sm_20吗?如果仅仅是缺乏较低的计算能力支持,为什么不sm_10呢? (另外,如果是无偿的话,如何关闭警告?)

2 个答案:

答案 0 :(得分:3)

该问题已在CUDA 6.5中确定,并已得到纠正我相信CUDA 7.5。使用最新版本的CUDA会使这些警告消失。

答案 1 :(得分:1)

忽略它

我在cuda RC8上遇到了同样的问题:

nvlink警告:在' cudainfo.o'

中找不到SM Arch(' sm_20')

编译: / usr / local / cuda / bin / nvcc -g -O2 -Iyes / include -Iyes / include -I。 -gencode arch = compute_35,code = sm_35 -rdc = true --ptxas-options = -v -I./compat/jansson -o cudainfo.o -c cudainfo.cu

$ nvcc --version nvcc:NVIDIA(R)Cuda编译器驱动程序 版权所有(c)2005-2016 NVIDIA Corporation 建于Wed_May__4_21:01:56_CDT_2016 Cuda编译工具,8.0版,V8.0.26