如何汇总英特尔放大器批处理结果?

Posted

技术标签:

【中文标题】如何汇总英特尔放大器批处理结果?【英文标题】:How can I aggregate intel amplifier batch results? 【发布时间】:2021-10-15 13:57:04 【问题描述】:

我正在用我的代码解决一些实例,我需要找到最差的热点,其中“最差”被定义为各种实例上的热点。因此,对于每个实例,我都使用 amplxe-cl 以批处理模式收集热点分析数据。现在我想汇总这些数据,我想一起分析它们。有没有办法用 vtune 做到这一点?

更新:

这不是 mpi 应用程序。我的应用程序需要处理许多不同的数据集(问题、实例、选择您的术语 :-)。根据单个实例中的数据,应用程序在处理数据时可能会采取非常不同的轮次,因此在不同实例上运行应用程序可能会导致不同的热点。正如@ArunJose_Intel 猜测的那样,聚合的目的是找到所有运行中常见的热点,这些热点存在于所有类型的实例的处理中。

我可以使用批处理模式轻松收集每个实例的热点分析,我可以单独检查它们,但我希望查看汇总分析。

当然,我可以一个接一个地处理它们,但这需要几周时间,而我可以在几个小时内在一组相同的机器上将它们作为单个问题处理。

【问题讨论】:

您正在运行 mpi 应用程序吗?您能否更清楚地说明实例所暗示的内容。您是指通过实例在同一台机器上多次执行您的程序吗?或者这是您在差异机器上运行每次运行的某些场景?如果你能解释一下实际上是什么改变了 b/w 2 实例,那将是最好的 另外,聚合的目的是为了比较不同的“实例”,或者您正在寻找什么是常见的热点? 已编辑问题以澄清。 【参考方案1】:

在 vtune 中,无法合并多个 GUI 报告。您可以在两个不同的报告中选择compare,以查看发生了什么变化,但显然这不是您想要的。

您可以尝试的一种解决方法是根据您已经收集的 vtune 结果创建命令行报告。这些命令行报告将采用易于解析的数据格式,例如 CSV 。一旦您有了这些格式的报告,您就可以编写自定义脚本/代码来聚合多个这些 csv 报告,使用您希望聚合它们的任何逻辑。

请在下面找到一些示例来创建命令行报告

1)在 Linux* 上根据 r001hs 结果生成热点报告,并将其以 text 格式保存到 /home/test/MyReport.txt。

vtune -report hotspots -result-dir r001hs -report-output /home/test/MyReport.txt

2)根据最新结果生成CSV 格式的热点报告,并将其保存在当前Linux 工作目录中。使用带有 csv 参数的 format 选项和 csv-delimiter 选项来指定分隔符,例如逗号。

vtune -R hotspots -report-output MyReport.csv -format csv -csv-delimiter comma

更多信息

https://www.intel.com/content/www/us/en/develop/documentation/vtune-help/top/command-line-interface/generating-command-line-reports.html

https://www.intel.com/content/www/us/en/develop/documentation/vtune-help/top/command-line-interface/generating-command-line-reports/saving-and-formatting-reports.htm

【讨论】:

我很害怕这个 :-(。我会做文本输出和切片/切块结果,但是 gui 会更好......因为你似乎在为英特尔工作,您能为此记录一个功能请求吗?:-) 谢谢! @LaszloLadanyi 您能否通过在community.intel.com/t5/Analyzers/bd-p/analyzers 中创建一个线程来将此作为功能请求提出,以便可以对其进行跟踪。

以上是关于如何汇总英特尔放大器批处理结果?的主要内容,如果未能解决你的问题,请参考以下文章

英特尔® VTune™ 放大器 XE 2013 未知源文件

性能测量 - 获取每个函数的平均调用时间。英特尔 Vtune 放大器

MLPerf结果证实至强® 可有效助力深度学习训练

我们如何知道英特尔至强融核协处理器是不是存在

揭秘英特尔处理器如何启动?

vtune 函数调用次数