--- title: 2022年度に利用可能なシステムについて published: false taxonomy: category: - docs external_links: process: true title: false no_follow: true target: _blank mode: active --- [toc] ## 概要 {#overview} 2023年1月13日10時より、システムD、システムE 及びシステムGの提供を開始します。 システムD 及び システムEは、Intel Xeonプロセッサを、システムGは AMD EPYCプロセッサおよびGPUを搭載したシステムとなります。 システムD/Eは、前システムのシステムB、システムCとの同じXeonプロセッサであり、Intelコンパイラが利用可能です。 システムDはシステムBの代わりに、システムEはシステムCの代わりとして、これまでと似た使用感でお使いいただくことが可能です。 システムGには、演算加速器としてGPU(NVIDIA A100 80GB SXM )を1ノードあたり4基搭載しており、機械学習などGPGPUを活用するアプリケーションの実行に適しています。 <!-- システムD 及び システムEは、ハードウェアは若干古い世代になりますが、搭載しているIntel Xeonプロセッサは、最新のCPUの命令セットとも 概ね互換性があるため、同じ使用感でお使いいただけます。 システムGは、AMD EPYCプロセッサを搭載し、演算加速器(NVIDIA A100 80GB SXM)を用いて計算いただくことが可能なシステムです。 --> 利用するためには、大型計算機システム利用者番号が必要です。 2022年度は試験運転期間のため利用にかかる費用負担はありません。 ## システム構成 {#system} システムD/E/G の計算機の仕様は以下のとおりです。 ストレージは、どのシステムからもHOME領域、LARGE領域に対して同一のPATHでアクセス可能です。 ストレージに関する詳細は、[ストレージの利用](/filesystem)をご参照ください。 <!-- システムDとEの違いはメモリサイズのみで、演算性能は同一となります。 また、ソフトウェア環境は、システムD/Eとクラウドシステムで共通となっています。 一方、システムGは、CPUやコンパイラ、ソフトウェア環境が、他のシステムと異なる構成となっています。 --> ![system_deg](system_deg.png?width=900) ## システムへの接続方法 {#login} システムへのログインは、SSH (Secure SHell) の鍵認証に限定しています。 [鍵ペアを作成](/login/pubkey#keygen)し、[利用者ポータル](https://web.kudpc.kyoto-u.ac.jp/portal)から [公開鍵の登録](/login/pubkey#regist)が完了するとログインできます。 詳細は、[システムへの接続方法](/login)をご参照ください。 1. システムにログインするには、SSH公開鍵認証により次のホストに接続してください。 ```nohighlight ## システムD/E にログインする場合 $ ssh laurel.kudpc.kyoto-u.ac.jp -- ## システムG にログインする場合 $ ssh gardenia.kudpc.kyoto-u.ac.jp ``` 2. それぞれのシステム用のモジュールファイルにスイッチします。 ```nohighlight ## システムDの環境に切り替える場合 $ module switch SysD -- ## システムEの環境に切り替える場合 $ module switch SysE -- ## システムGの環境に切り替える場合 ## (gardeniaにログインすると、初期状態でSysGの環境が自動設定されていいます。通常切り替える必要はありません) $ module switch SysG ``` 3. 必要に応じて現在の環境を確認してください。SysDおよびslurmがロードされていれば、システムDの環境にジョブ投入することが可能です。 ```nohighlight ## システムDの場合 $ module list Currently Loaded Modulefiles: 1) slurm/2022 2) SysD/2022 3) intel/2022.3 4) intelmpi/2022.3 5) PrgEnvIntel/2022 ``` ## ログイン環境について{#env} プログラミング環境やライブラリ等の環境設定は、前システムと同様に module コマンドで行います。 ただし、module の名前が変更されていますので、.bashrc等でログイン時に自動で load している場合は、見直していただく必要があります。 ログイン環境や、前システムからの変化に関しては次のページも併せてご参照ください。 * [前システムからの移行](/migration) * [ログイン環境](/config) * [環境設定ツール](/config/modules) ## コンパイル方法 {#compile} ### システムD/E Intelコンパイラが利用可能です。ログイン直後の状態で自動的にIntelコンパイラの設定をロードするように設定しています。 詳細は、[コンパイラ・ライブラリ](/compilers)をご参照ください。 ### システムG NVIDIA HPC SDKコンパイラが利用可能です。ログイン直後の状態で自動的にNVIDIA HPC SDKコンパイラの設定をロードするように設定しています。 詳細は、[コンパイラ・ライブラリ](/compilers)をご参照ください。 ## ジョブ実行 {#job} ジョブスケジューラとしてSlurmを採用しています。 キューの確認は `spartition` コマンド、ジョブの確認は `squeue`コマンド、ジョブ投入は、`sbatch`コマンド をご利用ください。 slurmの標準オプションに加えて、--rsc オプションを本センター固有のカスタマイズオプションとして追加しています。 前システムのジョブスケジューラ(PBS)では、-A オプションとしてご利用いただいていたものと同じ構文で、 必要な計算リソースを指定することが可能です。 また、slurmによるジョブ実行の際には、原則、実行したいプログラムの前には srun コマンドを付与してください。 mpiexec コマンドの代わりに使用します。並列数等のパラメータは--rscオプションから自動で取得しますので省略可能です。 なお、逐次プログラムでは省略することもできますが、付与することを推奨しています。 より詳細な情報は、[プログラムの実行](/run)をご参照ください。 #### 逐次プログラムのジョブスクリプトの例 ```nohighlight #!/bin/bash #============ Slurm Options =========== #SBATCH -p gr19999d # ジョブキュー名(パーティション名)の指定。利用可能なキュー名は spartition コマンドで確認してください。 #SBATCH -t 1:00:00 # 経過時間の上限を1時間に指定。無駄のない上限を指定したほうがスケジューリングされやすくなります。 #SBATCH --rsc p=1:t=1:c=1 # 要求リソースの指定。 #SBATCH -o %x.%j.out # ジョブの標準出力/エラー出力ファイルの指定。%xはジョブ名(ジョブスクリプト名)、%j はジョブIDに置換されます。 #============ Shell Script ============ set -x srun ./a.out ``` #### MPIプログラムのジョブスクリプトの例 (8プロセス) ```nohighlight #!/bin/bash #============ Slurm Options =========== #SBATCH -p gr19999d # ジョブキュー(パーティション)の指定。 #SBATCH -t 1:00:00 # 経過時間の指定 #SBATCH --rsc p=8:t=1:c=1 # 要求リソースの指定 #SBATCH -o %x.%j.out # ジョブの標準出力/エラー出力ファイルの指定 #============ Shell Script ============ set -x srun ./a.out ``` #### GPUを使用する逐次プログラムのジョブスクリプトの例 ```nohighlight #!/bin/bash #============ Slurm Options =========== #SBATCH -p gr19999g # ジョブキュー(パーティション)の指定。 #SBATCH -t 1:00:00 # 経過時間の指定 #SBATCH --rsc g=1 # 要求リソースの指定 #SBATCH -o %x.%j.out # ジョブの標準出力/エラー出力ファイルの指定 #============ Shell Script ============ set -x srun ./a.out ``` ### キュー構成{#queue} 2022年度の試験運転期間中のキュー構成は以下の表の通りです。 2022年度の前期の申請状況に応じて利用できるジョブキューを振り分けています。 前システムと比較し、計算資源の物量がまだ十分ではないため、 ご利用いただけるジョブあたりのノード数については、前システムの概ね25%から40%程度となっています。 システムが最終構成になるまではご不便をおかけしますが、ご理解の程よろしくお願いいたします。 ジョブキューを表に多数記載していますが、実際に投入権限のあるキューの確認は `spartition` コマンドでご確認の上ご利用ください。 ```bash ## コマンド表示例 $ spartition Partition State Rmin Rstd Rmax DefTime MaxTime ed UP 0 40 5000 01:00:00 01:00:00 pd UP 0 40 5000 01:00:00 7-00:00:00 s2d UP 0 80 5000 01:00:00 7-00:00:00 ``` #### システムDで利用可能なキュー{#queue-sysd} 主に、2022年4月~7月にシステムA/Bをご利用された方に利用権限を付与しています。 システムの混雑具合によっては経過時間の上限などを調整する可能性があります。 | キュー名 | ジョブ毎の上限ノード数 | 経過時間上限 | 利用可能なユーザ| |----- | --- | -------------- | ------------- | | ed | 1ノード | 1:00:00 (1時間) | 全ユーザ(エントリコース) | | pd | 1ノード | 7-00:00:00 (7日) | 前システムBのパーソナルコース | | s2d | 2ノード | 7-00:00:00 (7日) | 前システムBのグループ/専用クラスタの申請が 1~4ノードのグループ | | s4d | 4ノード | 7-00:00:00 (7日) | 前システムBのグループ/専用クラスタの申請が 5~8ノードのグループ | | s8d | 8ノード | 7-00:00:00 (7日) | 前システムBのグループ/専用クラスタの申請が 9~16ノードのグループ | | s16d | 16ノード | 7-00:00:00 (7日) | 前システムBのグループ/専用クラスタの申請が 17~32ノードのグループ | | s32d | 32ノード | 7-00:00:00 (7日) | 前システムBのグループ/専用クラスタの申請が 32以上ノードのグループ | | 個別キュー | 個別 | 7-00:00:00 (7日) | 大規模なグループコース、機関・部局定額等のユーザ(前期の利用規模に応じた利用権限を設定) | | l64d | 64ノード | 2-00:00:00 (2日) | 前システムBの申請が32ノード以上の大規模グループ | #### システムEで利用可能なキュー{#queue-syse} 主に、2022年4月~7月にシステムCをご利用された方に利用権限を付与しています。 システムの混雑具合によっては経過時間の上限などを調整する可能性があります。 | キュー名 | ジョブ毎の上限ノード数 | 経過時間上限 | 利用可能なユーザ| |----- | --- | -------------- | ------------- | | pe | 1ノード | 7-00:00:00 (7日) | 前システムCのパーソナルコース | | s1e | 1ノード | 7-00:00:00 (7日) | 前システムCのグループコース,専用クラスタコース | | 個別キュー | 個別 | 7-00:00:00 (7日) | 大規模なグループコース、機関・部局定額等のユーザ(前期の利用規模に応じた利用権限を設定) | #### システムGで利用可能なキュー{#queue-sysg} 主に、2022年4月~7月に本センターのシステムをご利用された方に利用権限を付与しています。 システムの混雑具合によっては経過時間の上限などを調整する可能性があります。 | キュー名 | ジョブ毎の上限ノード数 | 経過時間上限 | 利用可能なユーザ| |----- | --- | -------------- | ------------- | | eg | 1ノード(4GPU) | 1:00:00 (1時間) | 全ユーザ(エントリコース) | | 個別キュー | 個別 | 7-00:00:00 (7日) | グループコース、機関・部局定額等の一部ユーザ | #### キュー毎の利用可能な計算資源の補足{#rscnote} 物理ノードのハードウェア構成制約から、ジョブスクリプトの --rsc オプションには以下の制約があります。また、各キューで利用可能なジョブ当たりの上限ノード数を超えることはできません。 | 説明 | システムD<br>初期値 |<br>最大値 | システムE<br>初期値 |<br>最大値 | システムG<br>初期値 |<br>最大値 | | --- | --- | --- | --- | --- | --- | --- | | プロセス数 ( --rsc p=_X_ ) | 1 | 40コア x ノード数 | 1 | 40コア x ノード数 | 1           | 64コア x ノード数 | | プロセスあたりのスレッド数 ( --rsc t=_X_ ) | 1 | 40 or 80(論理コア) | 1 | 40 or 80(論理コア) | 1           | 64 or 128(論理コア) | | プロセスあたりのコア数 ( --rsc c=_X_ ) | 1 | 40コア | 1 | 40コア | 1           | 64コア | | プロセスあたりのメモリ量( --rsc m=_X_ ) <br>(単位:M, G) | 4750M | 185G | 19250G | 751G | 8000M         | 500G | | GPU数                                 | -           | -           | -           | -          | 1 | 4 x ノード数 | ### ジョブ投入{#submit} `sbatch` コマンドの引数にジョブスクリプトを指定することでジョブ投入が可能です。 詳細は、[バッチ処理](/run/batch) をご参照ください。