gpt4 book ai didi

CUDA:如何检查正确的计算能力?

转载 作者:行者123 更新时间:2023-12-03 20:29:08 25 4
gpt4 key购买 nike

以更高计算能力编译的 CUDA 代码将在计算能力较低的设备上完美执行很长时间,然后有一天会在某些内核中静默失败。我花了半天时间去追一个难以捉摸的错误才意识到构建规则有 sm_21而设备 (Tesla C2050) 是 2.0 .

是否有我可以添加的任何 CUDA API 代码可以自我检查它是否在具有兼容计算能力的设备上运行?我需要编译和使用具有许多计算能力的设备。我是否可以采取任何其他措施来确保不会发生此类错误?

最佳答案

在运行时 API 中,cudaGetDeviceProperties返回两个字段 majorminor它返回任何给定的枚举 CUDA 设备的计算能力。在建立上下文之前,您可以使用它来解析任何 GPU 的计算能力,以确保它是适合您的代码的架构。 nvcc可以使用 -gencode 从单个调用生成包含多个体系结构的目标文件。选项,例如:

nvcc -c -gencode arch=compute_20,code=sm_20  \
-gencode arch=compute_13,code=sm_13 \
source.cu

将生成一个带有嵌入的 fatbinary 对象的输出对象文件,其中包含 GT200 和 GF100 卡的 cubin 文件。运行时 API 将自动处理架构检测并尝试从 fatbinary 对象加载合适的设备代码,而无需任何额外的主机代码。

关于CUDA:如何检查正确的计算能力?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6689129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com