1

我正在使用 Compute Prof 3.2 和 Geforce GTX 280。我相信我有 1.3 的计算能力。

这个文件似乎表明我应该能够看到这些字段,因为我使用的是 1.x 计算设备。好吧,我看不到它们,并且 3.2 工具包的用户指南说我看不到它们,但将它们gst_uncoalesced称为gst_coalesced.

总而言之,如果我从全局内存中进行非合并读取,我对如何从分析器中弄清楚我感到困惑。看起来费米卡也不会说,但我现在并不担心它们。如果有人能详细说明情况,我将不胜感激。

此外,我被告知要查看我的内核程序集以解决这些问题,因此任何有关如何执行此操作的详细说明也值得赞赏。我也刚刚开始尝试弄清楚这些东西:)

4

1 回答 1

1

我在分析输出时遇到了类似的问题。虽然在 8600(计算能力 1.0)上显示合并和未合并的读/写,但仅在 GTX280 上显示合并。我认为这是由于 gtx 280 上更好的合并使剪切变得不那么清晰(是不是一个除了一个单词之外的所有单词都不需要未合并的内存读取?)。但是,您可以查看汇总表。在那里,您可以找到每个内核的加载和存储效率。如果所有访问都被合并,那么效率应该是 1,否则它小于 1(0.5 意味着只使用了一半的加载字节)。

当然,由于这并不能帮助您确定未合并的访问在内核中的确切位置,因此最好的方法仍然是了解合并的工作原理(每个半扭曲的地址被收集到 32、64 和 128 字节的访问中,而不是访问的值无论如何都会在该区域内传输)并分析您的访问模式仍然是最终的方法。

于 2010-10-04T15:49:15.550 回答