如何聚合英特尔放大器批处理结果?



我正在用我的代码解决许多实例,我需要找到最坏的热点,在哪里';最坏';被定义为广泛实例上的热点。因此,对于每个实例,我都使用amplex -cl在批处理模式下收集热点分析数据。现在我想汇总这些数据,我想一起分析它们。有什么方法可以做到这一点吗?

更新:

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

我可以使用批处理模式轻松地收集每个实例的热点分析,我可以单独检查它们,但我想看到一个聚合分析。

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

在vtune中,不可能合并多个GUI报告。你可以选择比较两个不同的报告,看看有什么变化,但显然这不是你想要的。

您可以尝试的一种解决方法是从已经收集的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