Почему nvlink предупреждает меня об отсутствии объектного кода sm_20 (вычислительная возможность 2.0)?
Я работаю с CUDA 6.5 на машине с картой GTX Titan (вычислительная способность 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 ответа
Проблема была выявлена в CUDA 6.5 и была устранена. Я верю в CUDA 7.5. Использование последней версии CUDA должно убрать эти предупреждения.
Просто игнорируй это
я нахожусь на cuda RC8 и имею ту же проблему:
Предупреждение nvlink: SM Arch ('sm_20') не найден в 'cudainfo.o'
компилировать: / 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® Cuda Copyright (c) 2005-2016 NVIDIA Corporation Построен на Wed_May__4_21:01:56_CDT_2016 Инструменты компиляции Cuda, выпуск 8.0, V8.0.26