PRIMEHPC FX700は、富岳と同じCPUを搭載した最新のスーパーコンピュータです。京都大学学術情報メディアセンターでは、FX700を小規模な構成で保有しており、スーパーコンピュータシステムの利用者向けの評価環境として提供しています。
利用するためには、FX700「試用制度」及び「小ノード実行枠」に応募してください。試用制度であれば審査なし1か月間お使いいただけます。利用にかかる費用負担はありません。
2023年4月より、ジョブスケジューラを PBS から Slurm に変更しました。
Camphor3やLaurel3とは独立したネットワークに接続した小規模なPCクラスタ型の構成です。 ログインノードは、Intel Xeonプロセッサ(x86_64アーキテクチャ)のサーバのため、計算ノードのA64FXプロセッサ(aarch64アーキテクチャ)でプログラムを実行するためには、クロスコンパイルが必要となります。利便性を考えて、計算ノード fx-0001 でも対話的にネイティブコンパイルが可能な構成としています。
計算ノードCPU仕様
項目 | 内容 |
---|---|
名称 | A64FX |
命令 | セット |
アーキテクチャー | Armv8.2-A SVE |
演算コア数 | 48 コア |
クロック | 1.8 GHz |
理論演算性能 | 2.7648 TFLOPS |
計算ノード仕様
項目 | 内容 |
---|---|
アーキテクチャー | 1 CPU/ノード |
メモリ容量 | 32 GiB(HBM2, 4スタック) |
メモリバンド幅 | 1,024 GB/s |
インターコネクト | InfiniBand EDR |
内蔵ストレージ | M.2 SSD Type 2280 スロット(NVMe) |
OS | Red Hat Enterprise Linux 8 |
FX700にログインするには、SSH公開鍵認証により次のホストに接続してください。
fx-login.kudpc.kyoto-u.ac.jp
/home および /work を共有ストレージとして構成しています。/homeは fx-loginのローカルストレージですので、ログインノード上の操作に対する応答は高速ですが、負荷には強くありません。計算の実行には /work をご利用ください。
[root@fx-0001 ~]# df -h /home/ /work/
Filesystem Size Used Avail Use% Mounted on
fx-login-ib:/home 399G 27G 373G 7% /home
armst-ib:/work 7.0T 25G 7.0T 1% /work
利用可能なコンパイラは Fujitsu compiler と GCC です.
fx-login におけるクロスコンパイル用コマンド
# fortran用
[b12345@fx-login ~]$ frtpx -v
frtpx: Fujitsu Fortran Compiler 4.4.0
使用法: frtpx [オプション] ファイル
[b12345@fx-login ~]$ mpifrtpx -v
frtpx: Fujitsu Fortran Compiler 4.4.0
使用法: frtpx [オプション] ファイル
# C言語用
[b12345@fx-login ~]$ fccpx -v
fccpx: Fujitsu C/C++ Compiler 4.4.0
simulating gcc version 6.1
[b12345@fx-login ~]$ mpifccpx -v
fccpx: Fujitsu C/C++ Compiler 4.4.0
simulating gcc version 6.1
使用法: fccpx [オプション] ファイル
# C++言語用
[b12345@fx-login ~]$ FCCpx -v
FCCpx: Fujitsu C/C++ Compiler 4.4.0
simulating gcc version 6.1
使用法: FCCpx [オプション] ファイル
[b12345@fx-login ~]$ mpiFCCpx -v
FCCpx: Fujitsu C/C++ Compiler 4.4.0
simulating gcc version 6.1
使用法: FCCpx [オプション] ファイル
fx-0001 におけるネイティブコンパイル用コマンド
# fortran用
[b12345@fx-0001 ~]$ frt -v
frt: Fujitsu Fortran Compiler 4.4.0
使用法: frt [オプション] ファイル
[b12345@fx-0001 ~]$ mpifrt -v
frt: Fujitsu Fortran Compiler 4.4.0
使用法: frt [オプション] ファイル
# C言語用
[b12345@fx-0001 ~]$ fcc -v
fcc: Fujitsu C/C++ Compiler 4.4.0
simulating gcc version 6.1
使用法: fcc [オプション] ファイル
[b12345@fx-0001 ~]$ mpifcc -v
fcc: Fujitsu C/C++ Compiler 4.4.0
simulating gcc version 6.1
使用法: fcc [オプション] ファイル
# C++言語用
[b12345@fx-0001 ~]$ FCC -v
FCC: Fujitsu C/C++ Compiler 4.4.0
simulating gcc version 6.1
使用法: FCC [オプション] ファイル
[b12345@fx-0001 ~]$ mpiFCC -v
FCC: Fujitsu C/C++ Compiler 4.4.0
simulating gcc version 6.1
使用法: FCC [オプション] ファイル
代表的なコンパイルオプション
オプション名 | 説明 |
---|---|
-Kopenmp | OpenMP指示子を有効にしてコンパイルします。 |
-Kparallel | 自動並列化を有効にします。 |
-Kfast | ターゲットマシン上で高速に実行するオブジェクトプログラムを作成します。-O3 -Keval,fast_matmul,fp_contract,fp_relaxed,fz,ilfunc,mfunc,omitfp,simd_packed_promotion と等価です。 |
-KA64FX | A64FXプロセッサ向けのオブジェクトファイルを出力するように指示します。 |
-KSVE | Armv8-Aアーキテクチャの拡張であるSVEを利用するか否かを指示します。 |
コンパイラの詳細は、マニュアルを参照してください。
富士通コンパイラマニュアル (アクセスにはスパコンのログインアカウントで認証が必要)
fx-0001上でネイティブコンパイルしてください。
[b12345@fx-0001 ~]$ gfortran --version
GNU Fortran (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[b12345@fx-0001 ~]$ gcc --version
gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[b12345@fx-0001 ~]$ g++ --version
g++ (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
sbatchコマンドでジョブを投入してください。Camphor3, Laurel3 とはジョブスクリプトの記述方法が異なりますのでご注意ください。 Camphor3, Laurel3 はSlurm を独自仕様にカスタマイズしていますが、FX700は標準のSlurmの機能のみを使用します。
1ノードだけ割り当てたdebugキューと、10ノード割り当てた shortキューがあります。 debugキューでテストした後に、shortキューで本番のジョブを実行してください。
$ sinfo -s
PARTITION AVAIL TIMELIMIT NODES(A/I/O/T) NODELIST
debug* up infinite 2/7/2/11 fx-[0002-0012]
short up infinite 2/7/2/11 fx-[0002-0012]
オプション | 説明 | 初期値 | 最大値 |
---|---|---|---|
#SBATCH -p QUEUE | キュー名の指定 | -- | -- |
#SBATCH -N NODE | 使用するノード数の指定 | 1 | 試用制度:1 / 小ノード実行枠:8 |
#SBATCH -n PROCS | プロセス数の指定 | 1 | 試用制度:48 / 小ノード実行枠:384 |
#SBATCH --cpus-per-task=CORES | プロセスあたりのコア数の指定 | 1 | 48 |
#SBATCH --mem=MEMORY | プロセスあたりのメモリサイズの指定 | 650M | 31200M |
#SBATCH -t HOUR:MINUTES:SECONDS | 実行時間の上限を指定 | 1:00:00(1時間) | 168:0:0(7日間) |
ジョブスクリプト例1 (1コア8GBを確保した逐次ジョブ)
#!/bin/bash
#SBATCH -p debug
#SBATCH -N 1 # ノード数
#SBATCH -n 8 # プロセス数
#SBATCH --cpus-per-task=1 # プロセスあたりのコア数
#SBATCH --mem=8G # ノード当たりのメモリサイズ
srun ./a.out
ジョブスクリプト例2 (16コア8GBを確保したOpenMPジョブ(16スレッド))
#!/bin/bash
#SBATCH -p debug
#SBATCH -N 1 # ノード数
#SBATCH -n 1 # プロセス数
#SBATCH --cpus-per-task=16 # プロセスあたりのコア数
#SBATCH --mem=8G # ノード当たりのメモリサイズ
#SBATCH -t 1:00:00 # 経過時間の上限1時間
srun ./a.out
ジョブスクリプト例3 ((48コア、8GBメモリ) x 2ノードのMPIジョブ(96プロセス))
#!/usr/bin/bash
#SBATCH -p debug
#SBATCH -N 2 # ノード数
#SBATCH -n 96 # プロセス数
#SBATCH --cpus-per-task=1 # プロセスあたりのコア数
#SBATCH --mem=30G # ノード当たりのメモリサイズ
#SBATCH -t 1:00:00 # 経過時間の上限1時間
srun ./a.out
ジョブスクリプト例4 ((48コア、30GBメモリ) x 2ノードのハイブリッドジョブ(24プロセス x 4スレッド))
#!/bin/bash
#SBATCH -p debug
#SBATCH -N 2 # ノード数
#SBATCH -n 24 # プロセス数
#SBATCH --cpus-per-task=4 # プロセスあたりのコア数
#SBATCH --mem=30G # ノード当たりのメモリサイズ
#SBATCH -t 1:00:00 # 経過時間の上限1時間
srun ./a.out