4

您将哪个分析器用于带有 MPI 的 Fortran 代码库?gprof 似乎无法正常工作。Sun Studio Analyzer 仅返回 C/C++ 系统调用的计时,并且不显示任何 fortran 函数。

4

6 回答 6

9

有许多专门用于并行/MPI 程序的性能分析工具,例如:

  • Score-P,可与许多不同的分析工具一起使用,例如CubeVampir
  • HPCToolkit仅使用采样,因此您不必重新编译您的应用程序

起初,它们可能没有那么简单易用,但它们为研究并行应用程序的性能提供了更多帮助。

于 2013-08-13T09:45:24.843 回答
3

当提问者说“gprof 似乎没有正常工作”时,也许他指的是 N MPI 进程可能会破坏 gmon.out 文件的事实。在这种情况下,(未记录的) GMON_OUT_PREFIX 环境变量可能会使 gprof 更有用:

$ export GMON_OUT_PREFIX=gmon.out
$ mpiexec -np 4 cpi
于 2015-05-06T19:23:47.497 回答
2

Allinea MAP是一个简单明了但非常强大的分析器。

它旨在显示 Fortran、C 和 C++ MPI 应用程序中的性能问题,并且只需很少的努力即可开始并进行分析。

它是图形化的,并与源代码浏览器集成,可根据代码行显示性能,并能够分析不良 MPI 行为、不良工作平衡或不良矢量化。

我是产品背后的团队之一,所以有点偏见。它是商业的——网站上有评估许可证。

于 2013-08-18T16:50:37.910 回答
0

gprof是 Fortran 和其他基于 GNU 的编译器的一个很好的分析器。

于 2013-08-12T16:11:28.480 回答
0

您可以使用Intel Trace 分析器来分析 MPI 通信,并使用Intel VTune来获取单个 MPI 任务的分析。这两种软件都广泛记录在英特尔网站上。

于 2017-01-10T16:23:51.960 回答
0

我想再添加两个分析器:(1) mpiP是一个轻量级分析器,可以产生文本输出,但只测量 MPI 函数。(2) Scalasca - 这产生了一个复杂的输出,它也可以指向同步不平衡(迟到的发送者/迟到的接收者)(与不指向同步不平衡的 TAU 相反)。

于 2017-01-10T19:56:41.800 回答