【发布时间】:2014-07-18 08:17:23
【问题描述】:
我是 GPU 领域的新手。所以我希望我能从你们那里得到一些帮助/提示。
我想为 CUDA 应用程序的所有加载/存储生成内存访问跟踪。我想知道是否可以使用任何 NVIDIA 工具生成这些跟踪。我想要的是生成一个跟踪,它在每个时钟周期告诉所有内核访问哪些内存地址。
谢谢
【问题讨论】:
-
当前的 NVIDIA 工具不支持您请求的功能。尝试跟踪每个内存访问会增加大量开销,因为您必须在每个周期跟踪 NumSM 访问以获取 LSU + 1/2 NumSM 访问以再次获取纹理。跟踪将为时序、smid 和地址数据生成 1-2 倍的额外内存写入。如果您不能静态定义输出位置,该工具还必须使用原子来控制输出。今天可以做的最好的事情就是编写一个工具来检测 PTX。
-
@GregSmith 感谢您的有用回复。让我解释一下我想做什么,你可能知道什么是最好的选择。我想为 GPU 编写一个缓存模拟器,同时让所有东西都在硬件上运行。类似于 Valgrind 的 CUDA 代码。
-
我希望例如能够更改设备内存的内容等等:D
-
@GregSmith:如果您将其添加为答案,那就太好了
标签: debugging memory cuda nvidia