目次 (4.2.ジョブの実行方法(SLURMコマンド編))
4.2. ジョブの実行方法(SLURMコマンド編)
4.2.1. ジョブ投入コマンド(sbatch)
4.2.2. ジョブ情報表示コマンド(squeue)
4.2.3. ジョブのキャンセルマンド(scancel)
4.2.ジョブの実行方法(SLURMコマンド編)
ジョブを実行するには、フロントエンドサーバからコマンドを実行します。
ジョブ管理のためのコマンドは次のとおりです。
表4.2 ジョブ管理コマンド一覧(SLURMコマンド編)
コマンド | コマンド用途 | 手順 |
sinfo -s | キュー(パーティション)の情報を表示する | 4.1.2.キュー情報の確認方法 |
squeues | キューのノード実行状況を表示する | |
freenodes | 空ノード数を表示する | 4.1.3. 利用可能なノード数の確認方法 |
sbatch | ジョブを投入する | 4.2.1.ジョブ投入コマンド(sbatch) |
squeue | ジョブの状態を表示する | 4.2.2.ジョブ情報表示コマンド(squeue) |
scancel | ジョブをキャンセルする | 4.2.3.ジョブのキャンセルマンド(scancel) |
4.2.1.ジョブ投入コマンド(sbatch)
ジョブを実行するために、ジョブ投入スクリプトを事前に作成します。sbatchコマンドにジョブ投入スクリプトを指定することで、ジョブがキューイングされ実行されます。
【sbatchコマンドの書式】
$ sbatch ジョブ投入スクリプト |
注)bsubと異なり、リダイレクトではなく、引数でジョブ投入スクリプトを渡します。
【sbatchコマンドの例(スクリプトファイルがrun.shの場合)】
$ sbatch run.sh |
ジョブ投入コマンド(sbatch)について、以下に主なオプションを示します。
表 4.2.1 sbatchオプション
オプション | 概要 |
sbatch -J "sample job name" | ジョブに任意のジョブ名をつけます。 |
sbatch -p キュー名 | 指定したキュー名のキュー(パーティション)にジョブを投入します。 |
sbatch -N 並列数 | 並列数を指定します。 |
sbatch -n プロセス数 | 1ノードあたりに割り当てるプロセス数を指定します。 |
sbatch -o ./out_%j.log(※) | out_ジョブIDという名前のファイルに標準出力を出力します。-eオプションが指定されていない場合は、標準エラー出力もこのファイルに出力されます。 |
sbatch -e ./err_%j.log(※) |
err_ジョブIDという名前のファイルに標準エラー出力を出力します。 ※シンボル「%j」はジョブIDに置換されます。 |
4.2.2.ジョブ情報表示コマンド(squeue)
ジョブの各種情報を表示するときは、squeueコマンドを実行します。
$ squeue |
注)他の利用者の情報は表示されません。
【squeueコマンド例】
$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) xxxx d024h testrun u***0001 R 4:58 60 d[007-066] xxxx debug6m testrun u***0001 CG 0:39 1 f001 |
<出力説明>
JOBID |
ジョブに割り当てられたジョブIDが表示されます。 ジョブの削除(scancel)などで指定する識別子となります。 |
PARTITION | ジョブを投入したキューの名前を表示します。 |
NAME | ジョブ名(未指定の場合はコマンド文字列)を表示します。 |
USER | ジョブ投入リクエスト(ジョブ)の実行者を表示します。 |
ST | ジョブの状態を表示します。主なジョブの状態を以下の表に示します。 |
TIME | ジョブの実行時間(形式:days-hh:mm:ss) |
NODES | ジョブ実行に使用されるノード数 |
NODELIST(REASON) | ジョブが実行されるホスト名のリスト |
表 4.2.2 ジョブ状態(squeueコマンド-STフィールド)
状態 | 説明 |
CA (CANCELLED) | ジョブが明示的にユーザまたはシステム管理者によってキャンセルされました。 |
CD (COMPLETED) | ジョブは、すべてのノード上のすべてのプロセスを終了しました。 |
CF (CONFIGURING) | ジョブは、資源が割り当てられた後、資源が使える状態になるのを待っている状態です。 |
CG (COMPLETING) | ジョブは、終了手続きの過程にあります。 |
F (FAILED) | ジョブは、ゼロ以外の終了コードまたはその他の障害状態で終了しました。 |
NF (NODE_FAIL) | ジョブは、割り当てられたノードのいずれかの故障のために終了しました。 |
PD (PENDING) | ジョブは、資源の割り当てを待っています。保留中です。 |
PR (PREEMPTED) | ジョブが中断のために終了しました。 |
R (RUNNING) | ジョブは、現在実行中です。 |
S (SUSPENDED) | ジョブは、資源の割り当てを持っています(実行が中断されています)。 |
TO (TIMEOUT) | ジョブは、その制限時間に達して終了しました。 |
4.2.3.ジョブのキャンセルマンド(scancel)
ジョブをキャンセルするにはscancelコマンドを用います。squeueコマンドなどで確認したジョブIDを指定します。scancelの後に、ジョブIDをスペース区切りで指定すると、複数のジョブを一度にキャンセルすることができます。
$ scancel ジョブID ジョブID ジョブID |