(最終更新: 2023/1/31) 2023年2月に運用開始する新システムについての情報です。
ノードタイプ | CPU,GPU | メモリ[GiB] | ノード数 | ローカル作業領域 (NVMe SSD上)[GB] |
備考 |
---|---|---|---|---|---|
TypeC | AMD EPYC 7763 (64コア 2.45 GHz) [2 CPU/ノード] | 256 | 804 | 1536 | ノード(vnode)貸し/コア貸し |
TypeF | 1024 | 14 | ノード(vnode)貸し、大容量メモリ | ||
TypeG | AMD EPYC 7763 (64コア 2.45 GHz) [2 CPU/ノード] NVIDIA A100 NVLink 80 GB [8 GPU/ノード] |
256 | 16 | コア貸し、GPU搭載 |
実効容量 14.8 PB (Lustre)
InfiniBand
ノードジョブは 64 コアの vnode (仮想ノード)を利用単位とします。(各ノードは 2 つの vnode に分けられます。)
キュー名 (jobtype) |
vnode 数 (コア数) |
ジョブあたり 制限 |
メモリ [GiB/コア] |
1グループ制限 | キュー係数 | 利用単位 | ノードタイプ | ||
割り当て点数 | コア数/GPU数 | 投入ジョブ数 | |||||||
H (largemem) |
28 vnode (1,792 コア) |
1〜14 vnode (64〜896 コア) |
7.875 | 720万点以上 240万点以上 72万点以上 24万点以上 24万点未満 |
9,600/72 6,400/48 4,096/28 3,200/12 768/8 |
1,000 | 60 点 / (1 vnode * 1時間) | vnode | TypeF |
H (vnode) |
1,248 vnode 以上 (79,872 コア以上) |
1〜50 vnode (64〜3,200 コア) |
1.875 | 45 点 / (1 vnode * 1時間) | TypeC | ||||
H (core) |
200 vnode 以上 (12,800 コア以上) |
1〜63 コア | 1 点 / (1コア * 1時間) | コア | |||||
H (gpu) |
32 vnode (2,048 コア 128 GPU) |
1〜48 GPU 1〜16 コア/GPU |
60 点 / (1 GPU * 1時間) 1 点 / (1コア * 1時間) |
TypeG | |||||
HR* [専有利用] |
- | - | 1.875 | - | - | - | 45 点 / (1 vnode * 1時間) |
vnode |
TypeC |
利用申請が許可され、アカウントが有効化されると、ログインノード(ccfep)に接続することができるようになります。
ログインやファイル転送の具体的な方法についてはクイックスタートガイドページの前半部分をご確認ください。
手順は前システムと同じです。
ジョブスクリプトを作成すれば、jsub コマンドでジョブを投入することができます。
ゼロからジョブスクリプトを作成することは、当センター特有の部分もあったりするためそれなりに大変です。
センター側で用意したしたサンプルをベースにして、適宜修正する形にした方が効率的かもしれません。
これらの方法についてはクイックスタートガイドページのジョブ投入ガイドの項目が参考になるかと思います。
Gaussian の場合は g16sub の利用をご検討ください。以下にリソース定義部分の例を示します。
#PBS -l select=5:ncpus=128:mpiprocs=64:ompthreads=2
#PBS -l select=10:ncpus=64:mpiprocs=32:ompthreads=2
#PBS -l select=1:ncpus=16:mpiprocs=16:ompthreads=1
#PBS -l select=1:ncpus=16:mpiprocs=1:ompthreads=16:ngpus=1
注意: ノードあたりの GPU 数は 8 で、GPU あたりの CPU コア数(ncpus/ngpus)は 16 以下である必要があります。
#PBS -l select=1:ncpus=64:mpiprocs=32:ompthreads=2:jobtype=largemem
このジョブタイプだけは jobtype=largemem の指定が必須です。
投入したジョブの情報は ccfep で jobinfo コマンドを実行することで確認できます。主な実行方法と出力例は以下の通りです。
今回のシステムではキューの名前(H)は省略できます。-q H のようにキューの名前をつけても問題はありません。
その他の点についてはほぼ前システムと同様の動作となっています。
自身のジョブの最新の情報を取得できます。ただし、GPU数など一部の情報は得られません。
また、他のオプションとの組み合わせも制限されます。
[user@ccfep ~]$ jobinfo -c
--------------------------------------------------------------------------------
Queue Job ID Name Status CPUs User/Grp Elaps Node/(Reason)
--------------------------------------------------------------------------------
H 4008946 sample3.csh Run 16 uuu/--- 1:51:14 ccc001
H 4008952 sample0.sh Run 16 uuu/--- 1:51:08 ccc001
H 4010452 sample-gpu.sh Queue 1 uuu/--- 0:02:40 (gpu)
--------------------------------------------------------------------------------
Job Status at 2023-01-28 14:00:12
最大で数分程度の遅れがありますが、-c をつけた際よりも詳しい情報が得られます。
(-m 等の他のオプションと組み合わせる状況が多いでしょうか。)
[user@ccfep ~]$ jobinfo
--------------------------------------------------------------------------------
Queue Job ID Name Status CPUs User/Grp Elaps Node/(Reason)
--------------------------------------------------------------------------------
H(c) 4008946 sample3.csh Run 16 uuu/ggg 1:51:14 ccc001
H(c) 4008952 sample0.sh Run 16 uuu/ggg 1:51:08 ccc001
H(g) 4010452 sample-gpu.sh Queue 1+1 uuu/ggg 0:02:40 (gpu)
--------------------------------------------------------------------------------
Job Status at 2023-01-28 14:00:12
For the latest status, please use '-c' option without '-m', '-w', '-s'.
自身やグループが利用しているコアやGPUの数、キューの空き状況を表示します。
[user@ccfep ~]$ jobinfo -s
User/Group Stat:
--------------------------------------------------------------------------------
queue: H | user(qf7) | group(za0)
--------------------------------------------------------------------------------
NJob (Run/Queue/Hold/RunLim) | 0/ 0/ 0/- | 0/ 0/ 0/2560
CPUs (Run/Queue/Hold/RunLim) | 0/ 0/ 0/- | 0/ 0/ 0/2560
GPUs (Run/Queue/Hold/RunLim) | 0/ 0/ 0/- | 0/ 0/ 0/48
core (Run/Queue/Hold/RunLim) | 0/ 0/ 0/600 | 0/ 0/ 0/600
--------------------------------------------------------------------------------
note: "core" limit is for per-core assignment jobs (jobtype=core/gpu*)Queue Status (H):
----------------------------------------------------------------------
job | free | free | # jobs | requested
type | nodes | cores (gpus) | waiting | cores (gpus)
----------------------------------------------------------------------
week jobs
----------------------------------------------------------------------
1-4 vnodes | 706 | 90368 | 0 | 0
5+ vnodes | 506 | 64768 | 0 | 0
largemem | 14 | 1792 | 0 | 0
core | 180 | 23040 | 0 | 0
gpu | 16 | 2048 (128) | 0 | 0 (0)
----------------------------------------------------------------------
long jobs
----------------------------------------------------------------------
1-4 vnodes | 326 | 41728 | 0 | 0
5+ vnodes | 226 | 28928 | 0 | 0
largemem | 7 | 896 | 0 | 0
core | 50 | 6400 | 0 | 0
gpu | 8 | 1024 (64) | 0 | 0 (0)
----------------------------------------------------------------------
ジョブは通常上記の jsub コマンドで投入しますが、Gaussian だけは g16sub という専用コマンドが用意されています。
Gaussian 09 用の g09sub というコマンドもあります。使い方については g16sub と基本的に同じです。
Gaussian のインプットを直接与えれば、自動でジョブスクリプトを生成、投入します。
デフォルトでは 8 コア(前システムでは 6 コア)使用で制限時間 72 時間(前システムと同じ)となっています。
[user@ccfep somewhere]$ g16sub input.gjf
[user@ccfep somewhere]$ g16sub -np 16 --walltime 168:00:00 input.gjf
gcc, aocc, NVIDIA HPC SDK を用意しています。
インテル oneAPI については、ライブラリ等は導入していますが、共用領域にコンパイラは用意していません。
インテルコンパイラが必要であれば oneAPI Base Toolkit や oneAPI HPC Toolkit をご自身のホームディレクトリに導入してください。
gcc についてはシステム標準のもの(8.5)に加えて gcc-toolset の新しいバージョン(9.2,10.3,11.2)も導入しています。
module load gcc-toolset/11 のように実行すれば使えるようになります。
インストール済ソフトウェアのリストについては、パッケージプログラム一覧ページにてご確認ください。
module avail コマンドでも確認できます。(キーボードの q を押すか、ページの一番下まで動かせば終了できます)
以下、細々とした注意点です。