gpt4 book ai didi

optimization - Cuda 分析器显示奇怪的差距?

转载 作者:行者123 更新时间:2023-12-03 16:14:56 25 4
gpt4 key购买 nike

在开始优化之前,我试图弄清楚配置文件结果的含义。我对 CUDA 和一般的分析非常陌生,我对结果感到困惑。

具体来说,我想知道在看似未被占用的计算块中发生了什么。当我从上到下查看 CPU 和 GPU 时,在大部分代码中似乎没有发生任何事情。这些看起来像 Thread1 中没有任何内容的列并且在 GeForce 中什么也没有.这是正常的吗?这里发生了什么事?

运行是在多核机器上使用 nvprof 在无负载的情况下完成的。 GPU 代码是用 -arch=sm_20 -m32 -g -G 编译的对于 CUDA 5。

enter image description here
Larger Image

最佳答案

这里的错误是在 Debug模式下分析代码(-G 编译器标志:“为设备代码生成调试信息”)。程序的行为发生了深刻的变化,这不应该用于分析和优化代码。

另一件事: 的完整文档nvcc 的 Debug模式很难找到。 nvcc 可能将寄存器/共享内存转储到全局内存中以便于主机访问和调试,这反过来可能会隐藏共享内存中的竞争条件等问题(参见此处的讨论:https://stackoverflow.com/a/10726970/1043187)。因此,诸如 cuda-memcheck --tool racecheck 之类的程序也应该在 Release模式下使用。

关于optimization - Cuda 分析器显示奇怪的差距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13839367/

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