会話型実行はSlurmのインタラクティブバッチ機能を使用して行います。簡易に実行するためのツールとして tssrun コマンドを用意しています。 tssrun コマンドの後ろに実行したいプログラムおよび引数を指定することでジョブを実行することが可能です。 ジョブ実行時に自動的に設定される環境変数についてはこちらをご参照ください。
コマンド | 説明 | 実行例 | 備考 |
---|---|---|---|
tssrun | 計算ノードでプログラムを実行する | tssrun ./a.out |
オプション | 説明 | 指定例 |
---|---|---|
-p QUEUENAME | バッチ処理用キューの指定 | tssrun -p gr19999b ./a.out |
-t HOURS:MINUTES:SECONDS | 経過時間上限値の指定(単位は時:分:秒) | tssrun -p gr19999b -t 1:0:0 ./a.out |
--rsc p=PROCS:t=THREADS:c=CORES:m=MEMORY or --rsc g=GPU |
ジョブ割当リソース量の指定。詳細はこちら | tssrun -p gr19999b --rsc p=4:t=8:c=8:m=2G ./a.out or tssrun -p gr19999b --rsc g=1 ./a.out |
--x11 | 計算ノードでGUIプログラムを実行する | tssrun -p gr19999b --x11 xeyes |
実行例1: システムBのMPIプログラムの場合
$ tssrun -p gr19999b --rsc p=4 ./a.out
salloc: Granted job allocation 102362
salloc: Waiting for resource configuration
salloc: Nodes cnode3 are ready for job
My name is cnode3. My rank is 1.
My name is cnode3. My rank is 2.
My name is cnode3. My rank is 3.
My name is cnode3. My rank is 0.
salloc: Relinquishing job allocation 102362
exit code: 0
実行例2: GUIプログラムを実行する場合
$ tssrun -p gr19999b --x11 xeyes
salloc: Granted job allocation 102366
salloc: Waiting for resource configuration
salloc: Nodes <計算ノード名> are ready for job
(Xアプリケーションが起動する)
tssrunコマンドによる会話型実行では、ジョブ情報を確認することが可能です。
コマンド | オプション | 説明 | 実行例 |
---|---|---|---|
sacct | -j JOBID | 会話型実行のジョブ情報を表示する | sacct -j 102362 |
コマンドとオプションに続けて、ジョブIDを指定する必要があります。ジョブIDは、tssrunコマンド実行時に表示される salloc: Granted job allocation XXXXXX
のXXXXXXの部分です。
会話型実行の終了後、24時間以上経過したものについては表示できません。
会話型実行が異常終了した場合、ジョブ情報中に終了理由が表示されます。
メモリ制限による終了 (ノード全体のメモリの圧迫によるもの)
Can't malloc: Cannot allocate memory
経過時間制限による終了
slurmstepd: error: *** STEP 102368.0 ON <計算ノード名> CANCELLED AT 2022-11-04T15:34:36 DUE TO TIME LIMIT ***