クラスタでのPHITSの走らせ方
PHITS 3.02教育版を/works2/phitsにインストールしている
ディレクトリとファイル
$HOME/moderatorにPHITSの入出力ファイルを置くとする。
$ mkdir $HOME/moderator
$ cd $HOME/moderator
$HOME/moderator/phits.in
PHITSの入力ファイルを指定するファイル。以下の形式で指定する。
file=input.txt
$HOME/moderator/input.txt
PHITSで計算させるためのパラメータやタリーを記述する。file(1)は次のようにする。
file(1) = /work2/phits
ジョブスケジューラ用スクリプト
PBSジョブスケジューラで使うためのスクリプトを$HOME/moderatorにphits.shという名前で作成す。内容は以下のようにする。
#!/bin/bash
#PBS -l nodes=1:ppn=4
cd $HOME/moderator
mpirun -np 4 /work2/phits/bin/phits302
nodesは使用するホスト数、ppnはホスト当たりに使用するコア数を指定する。nodesとppnの積と-np の数が同じになるようにする。mpirunの前に計算を実行したいディレクトリに移動する。
スクリプトへの実行権限付与
このスクリプトに実行権限を付与する。
$ chmod 755 $HOME/moderator/phits.sh
ジョブの走らせ方
$ cd $HOME/moderator
$ qsub phits.sh
ジョブの確認
$ qstat
Job id Name User Time Use S Queue
---------------- ---------------- ---------------- -------- - -----
22.qpn_nserver phits.sh shigyo 00:00:00 R workq
22はジョブIDを表す。ステータスを表すSのところがRになっていると実行中である。
ジョブの中断
batch.outの1行目の1文字目の数値を1から0に変更してこのファイルを保存すると、現在進行中のバッチの計算が終了した後にジョブが終了する。
ジョブの強制終了
計算結果を保存する必要がなく、すぐにジョブを停止したいときは以下のようにする。
$ qdel ジョブID
例
qdel 22