Intel Advisor:检查方法,包括所有子方法

Posted

技术标签:

【中文标题】Intel Advisor:检查方法,包括所有子方法【英文标题】:Intel Advisor: Inspect method including all submethods 【发布时间】:2019-03-13 05:35:34 【问题描述】:

使用 Intel Advisor 和屋顶线模型,我想评估某个函数的性能。此函数使用 Eigen 库进行矩阵运算,其中完成了主要工作。

在输出中,我可以看到我的函数具有相对较小的自身时间和几个由我的函数调用的 Eigen 函数。现在我想将我的函数的所有 FLOPS 和内存操作组合在一起(而不是每个单独的函数),并将这个结果用于屋顶线模型。我怎样才能做到这一点?

注意:我在英特尔支持论坛 [1] 上发布了一个类似的问题。

[1]https://software.intel.com/en-us/forums/intel-advisor-xe/topic/806091

【问题讨论】:

【参考方案1】:

为了在 Advisor Roofline 图表上进行 loopnest/functions 聚合,您必须按照https://software.intel.com/en-us/articles/roofline-with-callstacks 中的描述运行“Roofline with CallStacks”

更具体地说,在命令行的情况下,您必须使用: advixe-cl -collect survey -project-dir MyResults -- MyExecutable advixe-cl -collect tripcounts -flop -stacks -project-dir MyResults -- MyExecutable (NB -stacks 额外标志)。

完成后,您需要在图表上找到与您的函数相对应的点并“折叠”它。基本上,带有 Callstacks 的 Roofline 可以配置 Roofline 模型/图表的粒度/嵌套级别。 将 Top-Down 视图与 Roofline 图并排使用或扩展右侧的“roofline 调用堆栈”视图时,使用 Callstacks 在 Roofline 上的父子点导航更容易:

【讨论】:

以上是关于Intel Advisor:检查方法,包括所有子方法的主要内容,如果未能解决你的问题,请参考以下文章

Intel Advisor beta 卸载分析:没有执行计数

Intel Advisor 提供了哪些功能?

使用 Intel Advisor XE 报告 FLOP

Intel Advisor - 在本地 Windows GUI 上查看来自 Linux 云的结果

Intel Advisor XE 中的错误 0x4000001e:无法加载原始收集器数据

在集群环境中访问 c​​advisor 的正确方法