SHIROKANE では AGE の ジョブを実行するキューとメモリの使用量を指定をするためにリソースが定義されています。
リソースを指定してジョブを実行する
ジョブのリソースは、qsub コマンドや qlogin コマンドの -l
オプションに続けるリソース属性で指定します。,
(カンマ) にて区切り、複数を列挙した指定ができます。
または、ジョブスクリプトの中の #$
で始めた行で指定します。
$ qsub -l <>[] []
または
... #$ -l <>[] ...
$ qlogin -l <>[]
SHIROKANE で使うリソース属性
- s_vmem<=>
- ジョブが要求する 1 スロットあたりのメモリ量を指定します。ここで要求されたメモリ量を AGE はジョブの実行のために確保します。メモリ使用量がこの値を超えたジョブは AGE によって kill されます。ジョブのメモリサイズの指定 (s_vmem) に詳しい説明があります。mem_req を併用する場合、これと同じ値を指定しなければなりません。
- mem_req<=>
- s_vmem と同じ意味です。過去に存在したリソース属性で、現在使用する場面はありませんが、使用しても問題はありません。 s_vmem を併用する場合、これと同じ値を指定しなければなりません。
- ljob
- 実行時間が長いジョブの場合に指定するリソースです。 キューの ljobs.q を選びます。計算ノード Thin でジョブを実行します。ジョブの実行時間上限が 62 日です。
- lmem
- 大きなメモリを使用するジョブの場合に指定するリソースです。 キューの lmem.q を選びます。TB 単位のメモリがある計算ノード Fat でジョブを実行します。ジョブの実行時間上限が 14 日です。
- mjob
- qsub の既定のリソース。キューの mjobs.q を選びます。計算ノード Thin でジョブを実行します。ジョブの実行時間上限が 2 日です。
- cp
- キューの cp.q を選びます。cp キューはファイルのコピー、移動に時間がかかるジョブ専用のキューです。
- mjobs_rerun
- qsub の既定のリソース。キューの mjobs_rerun.q を選びます。計算ノード Thin でジョブを実行します。mjobs.q よりもジョブが実行開始されやすい代わりに、専有キューでジョブの実行開始があると、mjobs_rerun.q キューのジョブはリスケジュールされます。
- exclusive
- qsub の既定のリソース。専有キューの .q を選びます。計算ノード Thin でジョブを実行します。専有キューを持つグループのみが使えます。
ShirokaneV から新たに追加されたリソース属性
- v100<>
- GPU の NVIDIA Tesla V100 搭載の計算ノードを選択します。
-l v100=2
とした場合は、 2 個の GPU を使用する宣言になります。-l v100
としただけでは、エラーとなります。必ず GPU の数を指定してください。 Tesla V100 (GPU) の使い方 - a100<>
- GPU の NVIDIA A100 搭載の計算ノードを選択します。
-l a100=2
とした場合は、 2 個の GPU を使用する宣言になります。-l a100
としただけでは、エラーとなります。必ず GPU の数を指定してください。 NVIDIA A100 (GPU) の使い方 - parabricks
- Parabricks パイプライン を使用できる計算ノードを選択します。
ShirokaneVI から新たに追加されたリソース属性
- arm
- 計算ノード Arm を選択します。
- shirokane6
- Shirokane6 世代の計算ノードを選択します。
ShirokaneVII から新たに追加されたリソース属性
- h100<>
- GPU の NVIDIA H100 搭載の計算ノードを選択します。
-l h100=2
とした場合は、 2 個の GPU を使用する宣言になります。-l h100
としただけでは、エラーとなります。必ず GPU の数を指定してください。 NVIDIA H100 - shirokane7
- Shirokane7 世代の計算ノードを選択します。
- genomon_master
- Genomon を実行する場合に指定するリソースです。
- genomon
- Genomon の解析ジョブを実行する場合に指定するリソースです。Genomon のパイプライン設定ファイル内で指定します。
過去のリソース属性
計算ノードは OS 8 で統一されているため、このリソース属性を指定したジョブは実行されることはありません。
リソースのデフォルト値
-l
オプションでリソースを指定せずに qsub コマンド、qlogin コマンドを実行した場合、s_vmem は 2.1G が設定されます。また、 qsub コマンドによってサブミットされたジョブは mjobs.q, ljobs.q, mjobs_rerun.q, 専有キュー のいずれかのキューで実行されます。
(ジョブのメモリ要求量 s_vmem に 768G を超える値を指定した qsub は、-l lmem
がない場合にもこれが自動に補完されます。)
リソースの指定例
メモリをスロットあたり 8GB 使用することを宣言し、ジョブを実行させる例です。
$ qsub -l s_vmem=8G []
メモリをスロットあたり 8GB 使用することを宣言し、長時間のジョブを実行させる例です。
$ qsub -l s_vmem=8G,ljob []
メモリをスロットあたり 192GB 使用することを宣言し、 qlogin する例です。
$ qlogin -l s_vmem=192G
$ qsub -l arm []