【发布时间】:2016-05-03 17:11:58
【问题描述】:
我正在使用英特尔 VTune 来分析我的程序。
我使用的 CPU 是 IVY Bridge。
所有硬件指令事件都可以在这里找到:
https://software.intel.com/en-us/node/589933
FP_COMP_OPS_EXE.X87 执行的 FP 计算 Uop 数 循环。 FADD、FSUB、FCOM、FMUL、整数 MUL 和 IMUL 的数量, FDIV、FPREM、FSQRTS、整数 DIV 和 IDIV。本次活动不 区分在先验流中间使用的 FADD 和 s
FP_COMP_OPS_EXE.X87 似乎包含整数乘法和整数除法;但是,那里没有整数加法和整数减法。我在上面的网站上也找不到这两种指令。
谁能告诉我计算整数加法和整数减法指令的事件是什么?
【问题讨论】:
-
没有单独的计数器。如果您只想要
add/sub指令的动态计数,而不是像cmp、and、xor这样便宜的指令,请查看 binary instrumentation。add是任何普通 CPU 上最便宜的双输入指令之一。在 IvB 上,在任何 ALU 端口上运行:1c 延迟,每 0.333c 吞吐量一个。只有mov reg,reg或归零指令更便宜。请参阅x86 tag wiki。
标签: c++ profiling intel instructions intel-vtune