Предупреждение CUDA nvlink: SM Arch ('sm_35') не найден
Вчера установил cuda-6.5 на мою убунуту 14.04. Я следовал инструкциям, изложенным в руководстве по началу работы cuda. Проверено на Системные требования и мое было в порядке. Делал предустановки, удалил ранее установленную cuda и установил менеджер пакетов установки. Все эти шаги были успешно выполнены. Я пропустил шаги установки runfile и создания среды croos для arm. На шаге [действия после установки][2] добавлено
export PATH=/usr/local/cuda-6.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
эти строки в файл.profile. Я обновил свой драйвер до последней доступной версии, выполнив команду sudo apt-get install cuda-drivers
, Также проверил, что я установил правильный драйвер. Перезагрузил мой компьютер и vaulla cuda-6.5 успешно собрана. Но когда я компилирую свой файл simpleCuda.cu
#include <stdio.h>
#include <cuda.h>
#include<iostream>
#include <thrust/device_vector.h>
#include <thrust/logical.h>
#include <thrust/functional.h>
#include <cassert>
#include <cublas_v2.h>
using namespace std;
int main(){
float* dev,host;
cudaError_t stat = cudaMalloc((void**)&dev,10*sizeof(float));
cout << "stat " << stat << endl;
return 0;
}
с nvcc -arch=sm_35 -rdc=true -lcublas -lcublas_device -lcudadevrt -o my simpleCuda.cu
набор параметров компиляции я получил предупреждение
nvlink warning : SM Arch ('sm_35') not found in '/usr/local/cuda-6.5/bin/../targets/x86_64-linux/lib/libcublas_device.a:maxwell_sgemm.asm.o'
nvlink warning : SM Arch ('sm_35') not found in '/usr/local/cuda-6.5/bin/../targets/x86_64-linux/lib/libcublas_device.a:maxwell_sm50_sgemm.o'
`
, В этой ссылке я вижу, что это можно игнорировать. Но я не хочу игнорировать это сообщение. Я скомпилировал этот simpleCuda.cu с одинаковыми параметрами компиляции, установленными на другом компьютере, с помощью инструмента компиляции cuda-5.5. Он не выдает никаких предупреждений о связывании архитектуры (-arch=sm_35). Я хочу избавиться от этого предупреждающего сообщения. Эти параметры компиляции не нужны для этого конкретного кода, который я опубликовал, но в дальнейшем они мне понадобятся. Я ценю всю вашу помощь.
1 ответ
По-видимому, это было ограничение цепочки инструментов, которое было исправлено в производственном выпуске CUDA 7.
[Этот ответ был собран из комментариев, чтобы убрать вопрос из очереди без ответа для тега CUDA]