【问题标题】:Maximum compute capability enabled for a CUDA toolkit version为 CUDA 工具包版本启用了最大计算能力
【发布时间】:2015-04-22 14:04:51
【问题描述】:

如何了解设备的最大计算能力,我可以使用给定版本的 CUDA 工具包中的编译器为其编译代码? 假设,我有cuda6.5 工具包。那里的 nvcc 是否能够为 GTX GeForce 970(计算能力 5.2)编译?

【问题讨论】:

  • 发布了两个不同版本的 CUDA 6.5 工具包,一个支持高达 cc5.0 的计算能力,另一个支持高达 5.2 的计算能力。如果您使用的是旧版本,并且您尝试编译 cc5.2 目标(例如 -arch=sm_52),您将收到来自 nvcc 的错误。

标签: cuda


【解决方案1】:

一种方法是反复试验 - 使用您想要的计算能力启动测试编译命令。如果您收到错误,则该工具包版本不支持该计算能力:

$ nvcc -arch=sm_20 t10.cu -o t10
$ nvcc -arch=sm_52 t10.cu -o t10
nvcc fatal   : Value 'sm_52' is not defined for option 'gpu-architecture'
$

另一种方法是阅读每个工具包附带的编程指南文档,并安装在/usr/local/cuda/doc 中(例如在 linux 上)。 Table 12 of that doc 将列出该编译器版本支持的可用计算能力。

我相信还有其他方法。您可能可以通过头文件 grep 并弄清楚。

【讨论】:

    【解决方案2】:

    您使用 CUDA 6.5 工具包编译 CUDA 7.0 示例。它在制作中使用 cc5.2。那将是找出答案的最快方法。可能已经发现了,所以如果你能告诉其他人你发现的与 cc5.2 一起为我们其他懒人工作的特定版本号会很好。 :)

    【讨论】:

      猜你喜欢
      • 2016-01-04
      • 2016-12-25
      • 2011-07-17
      • 1970-01-01
      • 2015-05-10
      相关资源
      最近更新 更多