如何在不使用cuda中的未缓存\u全局\u加载\u事务选项的情况下分析全局内存事务的数量?
我想分析GTX480上的全局内存事务数。但是,uncached_global_load_transaction选项没有帮助,因为该字段的输出总是0。还有别的办法吗?例如,我可以启用其他计数器并根据它们计算事务数吗?全局内存是一个虚拟地址空间。数据可以驻留在设备内存或固定系统内存中。对于Compute Capability 2.x设备,您可以按如下方式计算层次结构: SM到L1C全局加载事务如何在不使用cuda中的未缓存\u全局\u加载\u事务选项的情况下分析全局内存事务的数量?,cuda,gpu,Cuda,Gpu,我想分析GTX480上的全局内存事务数。但是,uncached_global_load_transaction选项没有帮助,因为该字段的输出总是0。还有别的办法吗?例如,我可以启用其他计数器并根据它们计算事务数吗?全局内存是一个虚拟地址空间。数据可以驻留在设备内存或固定系统内存中。对于Compute Capability 2.x设备,您可以按如下方式计算层次结构: SM到L1C全局加载事务 缓存事务为128B sm2l1c_global_load_transactions=l1_global_
- 缓存事务为128B
sm2l1c_global_load_transactions=l1_global_load_hit+l1_global_load_miss
- SM未缓存全局事务或二级缓存未命中在32B事务中
sm2l2c_全局_加载_事务=(l1_全局_加载_未命中*4)+未缓存的_全局_加载_事务
- 二级查询是32B
- 根据CUDA探查器的版本,这包括从以下一个或多个源到L2的读取:SM L1(本地、全局、原子、表面)、TEX缓存、常量缓存、指令缓存、MMU、复制引擎等
l2\u read\u transactions=sum(l2\u subp{0,1}\u read\u sector\u查询)
- DRAM的读取带宽来自二级未命中和ECC(如果启用)
- FB查询为32B
fb\u read\u transactions=sum(fb\u supb{0,1}\u read\u扇区)
如果使用CUDA 5.0 nvprof命令,则查询事件将列出已安装设备上的所有可用事件。这只是SM到L1缓存全局访问的事务计数。如果您需要我进一步扩展其他类型交易的答案,请回复,我将扩展答案。谢谢您的回复,但这不是我需要的。我只对全局内存事务感兴趣,所以l1命中并不重要。