分析多线程和多处理器程序

时间:2013-02-17 15:20:32

标签: multithreading g++ profiling mpi

我最近开发的应用程序使用多个处理器,这些处理器通过消息传递接口标准进行通信,而某些部分涉及多个异步运行的线程(std::async)。

我正在运行Ubuntu 12.04 x86,g ++ - 4.6.3与openMPI结合使用。

-p -g -pg添加到编译器标志并运行gprof不会产生任何有用的输出,它基本上表示所有内容都已立即完成。

如何描述此类程序?

2 个答案:

答案 0 :(得分:1)

我建议Allinea MAP为此,由我的雇主开发。它描述了MPI应用程序,并向您显示源代码中的应用程序时间。有一些非常有用的内存使用图表,MPI通信和计算成本 - 它允许您轻松放大问题区域以获得性能。

您无需重新编译应用程序即可开始使用它:它会在运行时自动添加分析。

这是商业软件 - 但是有30天的试用期。

答案 1 :(得分:0)

对于多线程程序,不需要带出大型MPI配置文件枪。我使用英特尔的VTune,它在分析多个线程方面表现非常出色。你可以试用30天。