web-dev-qa-db-ja.com

Slurm:sbatch内でsrunを使うのはなぜですか?

Sbatchスクリプトでは、プログラムまたはスクリプト(たとえば、実行可能ファイルmyapp)を直接起動できますが、多くのチュートリアルではsrun myapp代わりに。

トピックに関するいくつかのドキュメントを読んだにもかかわらず、私は違いとそれらの構文のそれぞれをいつ使用するかを理解していません

この質問が十分に正確であることを願っています(SOの最初の質問)。事前に回答をありがとうございます。

11
RomualdM

srunコマンドは、ジョブの「ステップ」を作成するために使用されます。

まず、リソース使用量のレポートの改善が表示されます。 sstat コマンドは、srunで始まるプロセスにリアルタイムのリソース使用状況を提供し、各ステップ(srunへの各呼び出し)は、アカウンティングで個別に報告されます。

第二に、それはシリアルプログラムの多くのインスタンスをセットアップする(1つのCPUのみを使用するプログラム)を単一のジョブにして、ジョブ割り当て内でそれらのプログラムをマイクロスケジュールするために使用できます。

最後に、並列ジョブの場合、srunも重要な役割を果たします並列プログラムの開始と並列環境のセットアップ。ジョブに割り当てられたCPUの--ntasksオプションで要求された数のプログラムのインスタンスを開始します。 [〜#〜] mpi [〜#〜] プログラムの場合、MPIライブラリとSlurmの間の通信も処理します。

8
damienfrancois