【发布时间】:2013-06-15 23:28:41
【问题描述】:
我在 windows 下使用 Cuda 5.5,带有 VS2010、nsight 3.1 和捆绑的视觉分析器。
我有一个只做存储的玩具内核,我从 nsight 和视觉分析器看到不同的数据。我应该相信哪个?为什么我会得到不同的看法?
Nsight 说 4.21MB 存储,视觉分析器说 71402 个事务,代表 8.9MB(假设它们都是 128B)。因此,Nsight 称 BW 为 277GB/s,视觉分析器为 126.69GB/s
我看到 Nsight 数据更接近现实,因为我的数据集是 1024x1024。
编辑
我已经从我原来的问题中删除了很多不好的假设。我在考虑 CPU 和缓存的一致性。
访问模式: 每个线程执行 4 次 1 字节连续存储(dst 是 char*):
for (int i = 0; i < 4; i++) {
dst[offset+i] = 0;
}
【问题讨论】:
-
如果您发布可复制的内容会很有帮助,因为我对您的访问模式并不完全清楚。我已将问题发送给 Nsight VSE 开发团队。
-
缓存行没有所有权。如果您按线程发布您的访问模式,我可能会提供更详细的答案。
-
我在描述中添加了访问模式。每个线程执行 4 次 1 字节的存储,连续
标签: visual-studio-2010 cuda nsight