CUDA nvlink 警告:未找到 SM 拱门("sm_35")

CUDA nvlink warning : SM Arch ('sm_35') not found

本文关键字:sm 拱门 SM 警告 nvlink CUDA      更新时间:2023-10-16

昨天将 cuda-6.5 安装到我的 ubunutu14.04 上。我按照 cuda 入门指南中所述的步骤进行操作。检查系统要求,我的还可以。进行了预安装,卸载了以前安装的cuda,并安装了软件包管理器安装。所有这些步骤都已成功执行。我跳过了步骤运行文件安装和手臂上的 croos-build 环境。在[安装后操作][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'

'

.在此链接中,我看到可以忽略它。但我不想忽略这个消息。我使用 cuda-5.5 编译工具在不同计算机上设置的相同编译参数编译了此 simpleCuda.cu。它没有给我任何关于架构链接的警告消息(-arch=sm_35)。我想摆脱此警告消息。这些编译参数对于我发布的这个特定代码不是必需的,但进一步我需要它们。我感谢您的所有帮助。

这显然是一个工具链限制,在 CUDA 7 生产版本中得到了纠正。

[此答案是根据评论收集的,目的是将问题从 CUDA 标签的未回答队列中移除]