1

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

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

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

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

4

1 回答 1

1

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

更具体地说,在命令行的情况下,您必须使用: 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 上导航父子点更容易:

导航使用

于 2019-03-14T22:26:13.847 回答