cuda - cuda 8.0 中的 nvcc 警告

标签 cuda nvcc

当我尝试执行 nvcc 时收到此警告。

我有 cuda 工具包 8.0 我的系统中有 Nvidia GTX 480。

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).

谁能解释这个警告?

如果您需要更多信息,请告诉我。

最佳答案

这是 CUDA 开发团队(即 NVIDIA)让 CUDA 开发人员(即您)知道计算能力 (cc) 2.x 设备将不再受支持的方式。

可以合理地假设下一个主要 CUDA 版本将放弃对计算能力 2.x 设备的支持,包括您的 GTX 480。因此,CUDA 8.0 可能是最后一个支持该设备的 CUDA 工具包。

即使未指定目标架构,也会出现警告,因为 CUDA 8 的默认目标架构是 cc 2.0。

如果您只想针对 cc3.0 或更高版本的设备,您可以通过指定适当的架构来匹配您的设备,例如,从编译输出中消除警告。

nvcc -arch=sm_30 ...

例如针对 cc 3.0 及更高版本的设备。正如警告消息本身所示,您还可以指定命令行开关来取消警告。

当 cc 1.x 设备的支持被弃用时,在 CUDA 6.x 时间范围内发生了类似的事情。 CUDA 7.0 中取消了支持。

关于cuda - cuda 8.0 中的 nvcc 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42382987/

相关文章:

c++ - 如何有效地将这种数据结构发送到CUDA?

c++ - CUDA 动态并行错误 : LNK2001

g++ -/usr/bin/ld : Dwarf Error

multithreading - 具有多(CPU)线程的多GPU编程

cuda - 对于 CUDA,线程是否停留在 GPU 上的单个 SP 上?

opengl - cudaGraphicsResourceGetMappedPointer 返回 "unknown error"

c++ - CUDA C++ : Using a template function which calls a template kernel

gcc - 如何使用使用 nvcc 编译的 Cuda 共享库来编译 OpenCV 代码?

cuda - 是否有 NVCC 的 `#pragma nv_exec_check_disable` 和/或 `#pragma hd_warning_disable` 的任何文档?