首页
学习
活动
专区
圈层
工具
发布

FLOP测量
EN

Stack Overflow用户
提问于 2015-05-20 07:10:56
回答 1查看 1K关注 0票数 2

我正在尝试使用英特尔vtune放大器评估我的应用程序的失败,我在这里使用这篇文章作为指导:https://software.intel.com/en-us/articles/estimating-flops-using-event-based-sampling-ebs/

问题是我在vtune gui中找不到FP_COMP_OPS_EXE事件。当我使用此事件配置运行amplxe-cl时,我得到以下错误:

amplxe:错误:丢弃了无效的事件FP_COMP_OPS_EXE.X87。

我正在研究CentOS,我的处理器是英特尔至强

任何帮助都将不胜感激

EN

回答 1

Stack Overflow用户

发布于 2015-05-20 15:47:08

可用事件集可以在不同代处理器之间更改。准确地知道您的处理器名称非常重要。您提到的事件存在于英特尔至强v2 (基于Ivybridge),您可以使用以下公式来测量浮点运算的数量: FP_COMP_OPS_EXE.SSE_SCALAR_SINGLE +4* FP_COMP_OPS_EXE.SSE_PACKED_SINGLE +8* SIMD_FP_256.PACKED_SINGLE + FP_COMP_OPS_EXE.SSE_SCALAR_DOUBLE +2* FP_COMP_OPS_EXE.SSE_PACKED_DOUBLE +4* SIMD_FP_256.PACKED_DOUBLE + FP_COMP_OPS_EXE.X87

对于基于Haswell的处理器(至强v3),没有这样的事件,并且不可能在那里计算FLOPs。

对于基于Broadwell的,公式如下: FP_ARITH_INST_RETIRED.SCALAR_SINGLE +4* FP_ARITH_INST_RETIRED.128B_PACKED_SINGLE +8* FP_ARITH_INST_RETIRED.256B_PACKED_SINGLE + FP_ARITH_INST_RETIRED.SCALAR_DOUBLE +2* FP_ARITH_INST_RETIRED.128B_PACKED_DOUBLE +4* FP_ARITH_INST_RETIRED.256B_PACKED_DOUBLE + INST_RETIRED.X87

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

https://stackoverflow.com/questions/30337662

复制
相关文章

相似问题

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