Mpirun:ただ1つのプロセスのSTDOUTを印刷するには?
mpirun -n 2 <prg>
を実行すると、両方のプロセスのSTDOUTストリームが結合され、シェルによって表示されています。このようなインターリーブ形式では、どのノードがどのノードから来るのかを知ることは難しい。
mpirunに、あるプロセスのSTDOUTをそのSTDOUTストリームに合併させる方法はありますか?ポールKapinosへ
#!/bin/sh
[email protected]
if [[ $OMPI_COMM_WORLD_RANK == 0 ]]
then
$ARGS
else
$ARGS 1>/dev/null 2>/dev/null
fi
ありがとう:
これが可能かどうかわかりません。どの言語を使用しているか分かりませんが、プリプロセスマクロを定義して印刷文をオーバーロードし、プロセスランクも書き込まれるようにするか、印刷文が処理ランクをチェックするif文でラップされるようにすることができます。 – Chris