为什么 nvlink 警告我缺少sm_20(计算能力 2.0)目标代码



我正在一台带有 GTX Titan 卡(计算能力 3.5)的机器上使用 CUDA 6.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呢?(另外,如果警告是无偿的,我该如何关闭警告?

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

忽略它

我在 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 --版本nvcc: NVIDIA (R) Cuda 编译器驱动程序版权所有 (c) 2005-2016 英伟达公司构建于 Wed_May__4_21:01:56_CDT_2016Cuda 编译工具,版本 8.0,V8.0.26

最新更新