2013-10-17 35 views
1

我在使用Oprofile来分析我通过mpirun调用的并行程序时遇到问题。我想使用的命令是:用MPI运行Oprofile

$ operf mpirun -n 4 [program and arguments] 

不幸的是,当我这样做,operf开始记录,但一些有趣的情况发生在MPI程序完成 - operf似乎没有认识到它的返回(MPI-产生的进程不再出现在htop,但operf仍然),并且事情只是等待着我打断他们。

有没有我可以传递给operfmpirun的选项,这两个选项可以很好地结合在一起?如果没有,我的MPI程序完成后,是否可以使用自动终止operf的bash技巧?

编辑:以前认为它Oprofile并不总是产生的结果,但事实证明,我只是困惑,看着错误的位置。唯一的问题是operf不能识别MPI程序已经终止。

+0

是一个节点(即单个操作系统实例)或多个上运行的MPI作业? –

+0

您是否尝试运行“mpirun ... operf [prog + args]”?这可能是要走的路 –

回答

0

尝试使用这条路线,它就像一个魅力:

sudo operf mpirun --allow-run-as-root -x LD_LIBRARY_PATH="build/" -np 2 (path_to_the_file)