Sbatchスクリプトでは、プログラムまたはスクリプト(たとえば、実行可能ファイルmyapp
)を直接起動できますが、多くのチュートリアルではsrun myapp
代わりに。
トピックに関するいくつかのドキュメントを読んだにもかかわらず、私は違いとそれらの構文のそれぞれをいつ使用するかを理解していません。
この質問が十分に正確であることを願っています(SOの最初の質問)。事前に回答をありがとうございます。
srun
コマンドは、ジョブの「ステップ」を作成するために使用されます。
まず、リソース使用量のレポートの改善が表示されます。 sstat コマンドは、srun
で始まるプロセスにリアルタイムのリソース使用状況を提供し、各ステップ(srunへの各呼び出し)は、アカウンティングで個別に報告されます。
第二に、それはシリアルプログラムの多くのインスタンスをセットアップする(1つのCPUのみを使用するプログラム)を単一のジョブにして、ジョブ割り当て内でそれらのプログラムをマイクロスケジュールするために使用できます。
最後に、並列ジョブの場合、srun
も重要な役割を果たします並列プログラムの開始と並列環境のセットアップ。ジョブに割り当てられたCPUの--ntasks
オプションで要求された数のプログラムのインスタンスを開始します。 [〜#〜] mpi [〜#〜] プログラムの場合、MPIライブラリとSlurmの間の通信も処理します。