首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制流量效率

控制流量效率
EN

Stack Overflow用户
提问于 2019-04-11 19:54:21
回答 1查看 201关注 0票数 0

正如分支统计手册中所述,有两个度量标准:分支效率和控制流效率。

前者有一个硬件计数器branch_efficiency。但是,对于后者,似乎没有直接的硬件计数器。是否有可能找到执行和发布控制流指令的比率,并将其用作第二个效率度量?或控制流利用率度量cf_fu_utilization

由于控制流效率可以解释为对一条翘曲中的一条指令活动的线程数,所以我想warp_execution_efficiency也可以使用,因为定义说

每经平均活动线程与多处理器支持的每经纱最大线程数之比

对此有什么评论吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-12 02:00:14

分支效率和控制流效率都是衡量指标。分支效率可以收集在一个单一的psd,并显示为SM值。控制流量效率为smsp__thread_inst_executed / smsp__inst_executed / WARP_SIZE * 100.0。这些计数器不能在所有硬件上的一次传递中从所有SMs中收集,因此该度量在图表上显示为所有SMs的平均值。

如果使用CUPTI/NVPROF,硬件事件是:

  • inst_executed:每经执行的指令数。警告:描述声明“每翘曲”。这应该是总数。
  • thread_inst_executed:由活动线程执行的指令数。对于每条指令,它根据执行指令的线程数(包括谓词关闭线程)来递增。它不包括重放。
  • not_predicated_off_thread_inst_executed:未预测的执行线程指令数

这些事件可用于计算average_threads_executed_not_predicated_off_per_inst_executed.或average_threads_executed_per_inst_executed。这可以在/32x 100.0之前转换为%。

如果条件体很小,编译器将使用预测而不是分支(几条指令)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55640208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档