我遇到了以下问题。我想使用gst_efficiency
衡量我的cuda应用程序的gld_efficiency
和nvprof
。与cuda 5.0一起分发的文档告诉我使用以下公式为具有计算能力2.0-3.0的设备生成这些文件:
gld_efficiency = 100 * gld_requested_throughput / gld_throughput
gst_efficiency = 100 * gst_requested_throughput / gst_throughput
对于所需的指标,给出了以下公式:
gld_throughput = ((128 * global_load_hit) + (l2_subp0_read_requests + l2_subp1_read_requests) * 32 - (l1_local_ld_miss * 128)) / gputime
gst_throughput = (l2_subp0_write_requests + l2_subp1_write_requests) * 32 - (l1_local_ld_miss * 128)) / gputime
gld_requested_throughput = (gld_inst_8bit + 2 * gld_inst_16bit + 4 * gld_inst_32bit + 8
* gld_inst_64bit + 16 * gld_inst_128bit) / gputime
gst_requested_throughput = (gst_inst_8bit + 2 * gst_inst_16bit + 4 * gst_inst_32bit + 8
* gst_inst_64bit + 16 * gst_inst_128bit) / gputime
由于没有给出所用指标的公式,我认为这些是可以由nvprof计算的事件。但有些事件似乎不适用于我的gtx 460(也尝试过gtx 560 Ti)。我粘贴了nvprof --query-events
的{{3}}。
任何想法出了什么问题或者我误解了什么?
修改
我不想使用CUDA Visual Profiler,因为我正在尝试分析我的应用程序的不同参数。因此,我希望使用多个参数配置运行nvprof
,记录多个事件(每个事件在一次运行中),然后在表中输出数据。我已经实现了这种自动化并且正在为其他指标(即发布的指令)工作,并希望为加载和存储效率做到这一点。这就是为什么我对涉及nvvp
的解决方案不感兴趣。顺便说一下,对于我的应用程序nvvp
无法计算商店效率所需的指标,因此在这种情况下它根本无法帮助我。
答案 0 :(得分:1)
我很高兴有人遇到同样的问题:)我试图做同样的事情并且无法使用Visual Profiler,因为我想分析6000个不同的内核。
NVidia网站上的公式记录很少 - 实际上变量可以是:
a)事件
b)其他指标
c)依赖于你拥有的GPU的不同变量
然而,很多指标都存在错字或者在nvprof中有点不同于在网站上。此外,变量没有标记,因此您无法通过查看它们是a),b)还是c)来判断。我用一个脚本来grep它们然后不得不手工修复它。这是我发现的:
1)“l1_local / global_ld / st_hit / miss” 它们在nvprof中“加载”/“存储”而不是在网站上“ld”/“st”。
2)“l2_ ......无论...... _requests” 它们在nvprof中有“sector_queries”而不是“requests”。
3)“local_load / store_hit / miss” 这些在探查器中还有“l1_” - “l1_local / global_load / store_hit / miss”
4)“tex0_cache_misses” 这个在探查器中有“扇区” - “tex0_cache_sector_misses”
5)“tex_cache_sector_queries” 缺少“0” - 所以nvprof中的“tex0_cache_sector_queries”。
最后,变量:
1)“#SM” 流式多处理器的数量。通过cudaDeviceProp获取。
2)“gputime” 显然,GPU上的执行时间。
3)“warp_size” GPU上的warp大小,再次通过cudaDeviceProp获得。
4)“max_warps_per_sm” 每个块上sm * #SM * warp上可执行的块数。我想。
5)“elapsed_cycles” 发现这个: https://devtalk.nvidia.com/default/topic/518827/computeprof-34-active-cycles-34-counter-34-active-cycles-34-value-doesn-39-t-make-sense-to-/ 但是如果我明白的话,还是不完全确定。
希望这可以帮助您和其他遇到同样问题的人:)