Perceus (warewulf) ソフトウェアを備えたクラスターを使用して、コンピューティングを実行します。このソフトウェア パッケージにはwwmpirun
、ホストファイルを準備して実行するためのプログラム (Perl スクリプト) が含まれていますmpirun
。
# ...
system("$mpirun -hostfile $tmp_hostfile -np $mpirun_np @ARGV");
# ...
このスクリプトを使用して、複数のノードで数学プログラム (CODE) を実行します。CODE は、通常、Ctrl+C でステータス、停止、停止のオプションを含む短いメニューを表示することで停止することになっています。ただし、MPI を使用して実行している場合、Ctrl+C を押すと、データが失われて CODE が強制終了されます。
CODE の開発者は回避策を提案しています - name のファイルを作成することでプログラムを停止できますstop%s
。ここで、%s
は CODE によって実行されるタスクファイルの名前です。これにより停止できますが、計算のステータスを取得できません。非常に長い時間がかかる場合があり、この機能を元に戻すことは非常にありがたいことです。
どう思いますか - 問題は CODE にありますかmpirun
?
によって実行される CODE と通信する方法を見つけることができますmpirun
か?
更新1
単一の実行では、Ctrl+C を押しstatus
て、提供されたメニューで を入力してオプションを選択することにより、計算のステータスを取得しますs
。CODE はステータス情報を STDOUT に出力し、計算を続行します。