2013-10-17 75 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)