2012-07-10 77 views
0

我试图在命令行中使用CUDA Profiler;我感兴趣的DRAM_Reads和DRAM_Writes - 和我在我的CUDA_PROFILE_LOG文件提供以下计数器:在CUDA Profiler的命令行模式下获取DRAM_Reads和DRAM_Writes

fb_subp0_read_sectors 
fb_subp0_write_sectors 
fb0_subp0_read_sectors 
fb0_subp0_write_sectors 
fb1_subp0_read_sectors 
fb1_subp0_write_sectors 

但我在cuda_profile文件注意到,有如下错误:

NV_Warning: Ignoring the invalid profiler config option: fb0_subp0_read_sectors 
NV_Warning: Ignoring the invalid profiler config option: fb0_subp0_write_sectors 
NV_Warning: Ignoring the invalid profiler config option: fb1_subp0_read_sectors 
NV_Warning: Ignoring the invalid profiler config option: fb1_subp0_write_sectors 

值我从fb_subp0_read_sectors获得,fb_subp0_write_sectors计数器不等于我从NVidia Visual Profiler获得的数据,这可能是因为我没有将正确的计数器传递给配置文件。 GPU是特斯拉M2050和CUDA 4.1被使用。如何在命令行中获得DRAM_Reads和DRAM_Writes?

编辑:在做了一些读后,我认为GPU可能有fb0/1 ...或fb ...计数器。但是,即使我有:

fb_subp0_read_sectors 
fb_subp0_write_sectors 
fb_subp1_read_sectors 
fb_subp1_write_sectors 

我得到警告:

NV_Warning: Counter 'fb_subp1_read_sectors' is not compatible with other selected counters and it cannot be profiled in this run. 
NV_Warning: Counter 'fb_subp1_write_sectors' is not compatible with other selected counters and it cannot be profiled in this run. 

感谢, 萨扬

+0

您是否获得了作为该计数器输出的预期访问次数?我问的原因是,当我使用这个计数器来获得读访问次数时,它返回了我奇怪的结果。即我期待着1920(32字节)的访问,但它只返回了30次访问 – warunapww 2014-01-13 23:44:48

回答

2

并非所有计数器可在单次运行异形,由于硬件的限制。

根据警告信息,您可以尝试在第一次运行中分析前两个计数器,然后在第二次运行中分析前两个计数器。

+0

谢谢 - 但是CUDA Visual Profiler如何实现呢? – Sayan 2012-07-11 03:57:12

+2

CUDA Visual Profiler会自动运行应用程序多次,以收集所有结果。分析应用程序时,请查看弹出消息。如果您指定了很多计数器,它有时需要超过20次运行。 – 2012-07-11 04:44:33