昨天把库达-6.5装到我的Uubunutu14.04。我遵循了库达入门指南中所述的步骤。检查了系统要求,我的也没问题。做了预安装,卸载之前安装的库达,并安装了软件包管理器.所有这些步骤都已成功执行。我跳过步骤,运行文件安装和croos-构建环境从arm。在安装后的操作步骤中,添加
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,我将驱动程序升级为最新可用的驱动程序。也验证了我安装了正确的驱动程序。重新启动我的电脑,并成功地构建了vaullaCuda-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'`
。在此链接中,我看到它可以被忽略。但我不想忽视这条信息。我用cuda-5.5编译工具在不同的计算机上使用相同的编译参数编译了这个simpleCuda.cu。它没有给我任何关于架构链接(-arch=sm_35)的警告信息。我想摆脱这个警告信息。这些编译参数对于我发布的这段特定代码并不是必需的,但是我还需要它们。我很感激你的帮助。
发布于 2016-11-05 08:04:35
这显然是在CUDA 7生产版本中纠正的工具链限制。
这个答案是从评论中收集的,目的是将这个问题从CUDA标签的未回答队列中删除。
https://stackoverflow.com/questions/29061065
复制相似问题