cuda 8.0 中的 nvcc 警告

nvcc warning in cuda 8.0

我在尝试执行 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 不再支持。