正如分支统计手册中所述,有两个度量标准:分支效率和控制流效率。
前者有一个硬件计数器branch_efficiency。但是,对于后者,似乎没有直接的硬件计数器。是否有可能找到执行和发布控制流指令的比率,并将其用作第二个效率度量?或控制流利用率度量cf_fu_utilization。
由于控制流效率可以解释为对一条翘曲中的一条指令活动的线程数,所以我想warp_execution_efficiency也可以使用,因为定义说
每经平均活动线程与多处理器支持的每经纱最大线程数之比
对此有什么评论吗?
发布于 2019-04-12 02:00:14
分支效率和控制流效率都是衡量指标。分支效率可以收集在一个单一的psd,并显示为SM值。控制流量效率为smsp__thread_inst_executed / smsp__inst_executed / WARP_SIZE * 100.0。这些计数器不能在所有硬件上的一次传递中从所有SMs中收集,因此该度量在图表上显示为所有SMs的平均值。
如果使用CUPTI/NVPROF,硬件事件是:
这些事件可用于计算average_threads_executed_not_predicated_off_per_inst_executed.或average_threads_executed_per_inst_executed。这可以在/32x 100.0之前转换为%。
如果条件体很小,编译器将使用预测而不是分支(几条指令)。
https://stackoverflow.com/questions/55640208
复制相似问题