2016-04-10 10 views
2

exit()の簡単な使用に問題があります。クラスタ上のSLURMを使用したCライブラリ関数exit()

コンテキストは、並列コンピューティングのためにクラスタ上でプログラムを実行しているため、すべてのプロセスを管理および監視するSlurmシステムがインストールされています。
問題私のプログラムでexit(1)を呼び出すと、SLURMはそれを登録していないように見え、CPUはビジー状態になり、割り当てられたCPU時間が無駄に消費されます。

だから私の質問は次のとおりです。
exit()main()の正規return 1に比べて違った何をしますか?
終了信号を簡単に修正する方法はありますか?

答えて

0

SLURMのデフォルトの動作では、1つのプロセスがクラッシュしたり、ゼロ以外の終了コードで終了した場合でも、ジョブ内のプロセスを完了させることができます。これを変更するには、slurm.confにKillOnBadExit=1を設定するか、-K/--kill-on-bad-exitsrunと設定します。

+0

mpirun/mpiexecはsrunの派生物なので、これも同様にうまくいくと思いますか?私は試してみて、報告します、ありがとう。 – AtmosphericPrisonEscape

関連する問題