LoginSignup
0
0

PBSジョブスケジューラのtips

Posted at

自分が使っている気象モデルSCALEを実行するものを例にします。
WRFやWRFDA、CReSS、fortranコンパイルなどほぼ同じです。
随時更新はしますが、きっとモデルを扱っている人ならきっと大丈夫です。

1. 基本操作

ジョブスケジューラーの基本操作は2つです。

terminal
$ qsub hogehoge.sh
$ qstat

1行目のqsubがジョブを投入するコマンドで、hogehoge.shの設定を読み込む。
2行目のqstatがジョブの状況を表示するコマンド。

2.qsubとhogehoge.shの書き方

ジョブを投入する際に、その設定を書き込むシェルの書き方の見本と、オプションを整理します。

hogehoge.sh
#!/bin/sh
#PBS -l nodes=1:ppn=16
#PBS -j oe

cd $PBS_O_WORKDIR
NPROCS=`wc -l <$PBS_NODEFILE`
mpirun -machinefile $PBS_NODEFILE -np $NPROCS ./scale-rm run.d01.conf

1行目:おまじない
2行目:ノードとコア数を指定している(例の場合1ノード16コア)
3行目:ジョブの標準出力ファイルと標準エラー出力ファイルを結合する
4行目:ブランク
5行目:qsubを実行しているディレクトリ移動する。
6行目:PBS_NODEFILEの数をカウントしてNPROCSに格納する(例の場合16)
7行目:実行ファイルの実行

というわけで、何も考えずに1ノード16コアでジョブを実行したい場合は、コピペしてもらい、7行目だけ自分の実行したいものに書き換えれば良い(はず)
mpirun -np 16 wrf.exeなど。

以下にhogehoge.sh内で使えるオプションをまとめます。

オプション         説明  デフォルト
#PBS -q queue_name 投入するqueueを指定する。 default queueで実行される。
#PBS -j oe 投入するqueueを指定する。 default queueで実行される。
#PBS -l nodes=X:ppn=Y ジョブを実行するノード数Xとコア数Yを指定する。 queueのデフォルト値
PBS -l ncpus=64  nodes * ppn。これを指定しないと全コア専有してしまうらしい…のだけど今のところ大丈夫そう?
#PBS -l mem=8G 確保するメモリ量を指定する。

3.qstatの使い方

※作成中

4.参考HP

Altair PBS Professional 2021.1 User's Guide(長い
https://www.altairjp.co.jp/pdfs/pbsworks/PBSUserGuide2021.1.pdf

ジョブ管理システム PBSを用いた計算機の利用
https://biaswiki.nibb.ac.jp/menu/index.php/%E3%82%B8%E3%83%A7%E3%83%96%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0_PBS%E3%82%92%E7%94%A8%E3%81%84%E3%81%9F%E8%A8%88%E7%AE%97%E6%A9%9F%E3%81%AE%E5%88%A9%E7%94%A8

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0