当我尝试执行nvcc时,我收到此警告。
我有cuda toolket 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).
任何人都可以解释这个警告吗?
如果您需要更多信息,请与我们联系。
答案 0 :(得分:13)
这是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中删除了支持。