会話型処理

会話型実行は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
  • 指定例に、gr19999b と記載の部分はご自身のキュー名に変更していただく必要があります。
  • コマンドを入力すると、いくつかのメッセージが表示された後、プログラムの実行が開始されて結果が表示されます。
  • 会話型実行用の計算ノードが混雑している場合、メッセージ表示後すぐに実行が開始されないことがあります。
  • パーソナルコース、グループコース用のキューで会話型実行を行うことも可能です。

実行例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 ***