情報学科・専攻協議会

2021年7月10日

スーパーコンピュータ「富岳」の開発
理化学研究所 計算科学研究センター副センター長
フラッグシップ2020 副プロジェクトリーダー
アーキテクチャ開発チーム・チームリーダー
筑波大学 連携大学院教授

佐藤 三久
フラッグシップ2020 プロジェクトリーダー

石川裕

スーパーコンピュータ「富岳」 (2021 ～ ）2021/07/10

本日の議題 富岳開発プロジェクト・フラグシップ2020の概要
 富岳システムの概要
 プロセッサ

A64FX

 性能
 ソフトウエア 成果・その他
 開発プロジェクトを振り返って 情報科学の研究とスパコン・プロジェクト

2021/07/10

フラッグシップ2020プロジェクト

 目的


「京」の次のスーパーコンピュータ（ポスト「京」＝「富岳」）の開発



ポスト京で我が国の科学および社会的・諸課題を解決するアプリケーションの開発

 プロジェクトは、2014年度から開始
理研が開発主体

ベンダーパートナーは、富士通

 2020年度末で開発プロジェクトは終了、2021年３月から共用開始

プロジェクトが開始されるまえに、２年(2012-2013) のフィージビリティプロジェクトがあった。

基本設計
2021/07/10詳細設計・実装

製造・設置

運用

FLAGSHIP 2020 プロジェクトにおける開発目標
Post-K(富岳）の開発については、次の3つの開発目標を設定し、設計を進めた。
 1. 高い電力効率

 施設の最大電力量は、30 - 40MW (for system)に設定し、電力設備を準備した

 2. 「ターゲット・アプリケーション」での高効率・高性能

 目安として、いくつかのアプリケーションで、「京」の100倍以上の性能を達成できること。
 ベンチーマーク（Top500等）は目標ではない。

 3. 広いユーザーに対して、使いやすいシステム
 ＧＰＵなどのアクセラレータは不採用

 京でのアプリケーションが継続して使える

2021/07/10

文科省のホームページより http://www.mext.go.jp/b_menu/shingi/chousa/shinkou/020/shiryo/__i
csFiles/afieldfile/2018/09/18/1409147_4_1.pdf

文科省のホームページより http://www.mext.go.jp/b_menu/shingi/chousa/shinkou/020/shiryo/__i
csFiles/afieldfile/2018/09/18/1409147_4_1.pdf

Codesign of “Fugaku”
3 Design Targets: 1. Extreme Power-Efficient System
Maximum performance under Power consumption of 30 - 40MW (for system) 2. Effective performance of target applications


It is expected to exceed 100 times higher than the K computer’s performancein some applications

 3. Ease-of-use system for wide-range of users

Codesign to meet these3 design targets
2021/07/10

Cool (Low-power)
technology isimportant!!

Supercomputer “Fugaku” and A64FX processor
 Ultra-scale “general-purpose” manycore system: Standard programing model is OpenMP-MPI hybrid
programming. running each MPI process on a NUMA
node (CMG).
 48 threads OpenMP is also supported.

158,976 nodes (1 processor/node, total 7.6 M
cores, theoretical peek 537PFLOPS (DP))

 Arm-based manycore processor: Fujitsu A64FX(Armv8.2-A SVE 512bit SIMD, #core 48 + 2/4,3TF@2.0GHz, boost to 2.2GHz)

CMG(Core-Memory-Group): NUMA node
12+1 core

12 cores in a cluster of cores called CMG, connected
to L2 and HBM memory chips

 Advanced Memory technology: HBM2 32 GiB, 1024

GB/s bandwidth, packaged in CPU chip Scalable Interconnect: ToFu-D interconnect

HBM2: 8GiB
July/01/2021

Diagram of A64FX processor
14Die Photograph of A64FX processor TSMC 7nm FinFET
 400 mm^2
 HBM2 chips are mounted on Si-interposer connected by TSMC CoWoS
technology

July/01/2021

HBM21515

Comparison of Die-size A64FX: 52 cores (48 cores), 400 mm² die size (8.3 mm²/core), 7nm FinFET process(TSMC)

 Xeon Skylake: 20 tiles (5x4), 18 cores, ~485 mm² die size (estimated) (26.9 mm²/core),

14 nm process (Intel)

 A64FX core is more than 3 times smaller per core.

Xeon Skylake, HighCore Count:
4 x 5 tiles, 18 cores, 2tiles used for memory
interface
485 mm² (22 x 22)

A64FX:
400 mm²(20 x 20)https://www.fujitsu.com/jp/solutions/business-technology/tc/
catalog/ff2019-post-k-computer-development.pdf
16

https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(server)

July/01/2021

Taken form UK benchmarks:
A hydrodynamics mini-app to solve thecompressible Euler equations in 2D, usingan explicit, second-order method

Benchmark result of CloverLeaf
Comparison with two nodes of TX2 (dual) and Skylake (dual)

Good scalability by increasing the number of threads within CMG.

The performance of one A64FX is comparable (better) to that of two nodes (4 sockets) of Skylake

A64FX

TX2350A64FX
35Execution time

300
250
200
150
100

20
15
10
500

481

121

48

122

# threads / process# processes
18

1

484

12SKL

25

50
1TX2

Relative performance(to 1T/A64FX)

30

Relative performance

Elapsed time [sec]SKL148112148122# threads / process# process148124July/01/2021

Performance and Power-efficiency of HPC OSS
 Several Open-source software were already ported and evaluated.
 Evaluation using one chip A64FX and dual chips of Xeon.

 The almost same performance to dual sockets of Xeon with half of power

consumption.

Performance and power
OpenFOAM
efficiency of open-source
FrontISTR
applications(results are shown in %,ABINIT
relative to Intel XeonSALMON
Platinum 8268
SPECFEM3D(Cascadelake, 2.90 GHz,24 cores/socket) (dualWRFsockets))

01020304050607080

MPASexecution time
19average power

90100110LULESH A64FX performance is less than Thx2 and Intel one
 We found low vectorization (SIMD (SVE) instructions ratio is a few %) We need more code tuning for more vectorization using SIMD

FOM [z/s]

A64FX

45000
40000
35000
30000
25000
20000
15000
10000
5000
0

1

4

8
120

TX2

SKL

12
# threads / process# processes

13

68
11/May/2021

How to improve the performance of sparse-matrix code
 Storage format is important:

Sliced ELLPACK format shows significantly better
performance than CSR, but only when it isvectorized manually using intrinsics.”
CSR is not good even with manual vectorizing.

 Vectorizing with SVE is important to getmemory bandwidth.

Memory bandwidth with hardware prefetch
180
160
140

B. Brank, S. Nassyr, F. Pouyan and D. Pleiter, "PortingApplications to Arm-based Processors," EAHPCWorkshop, IEEE CLUSTER 2020 , Kobe, Japan, 2020,
pp. 559-566, doi: 10.1109/CLUSTER49012.2020.00079.

GB/s

120
1008060

SVE

40
20012345NOSVE678nosimd
9101112thd
2111/May/2021

Summary of A64FX performance characteristics
 For core-to-core comparison in intspeed, integer performance is ¼ of Xeon
 For chip-to-chip comparison in SPEC OMP, 48 threads performance of one chip is

65% to one chip of recent high-end Xeon (Cascade Lake)

NOTE: Performance of memory-intensive benchmarks is extremely good in A64FX
thanks to HBM.

For some scientific workload, the almost same performance to dual sockets ofXeon with half of power consumption (UK benchmark and HPC OSS) High SIMD rate is important to get performance
Need to tune memory access patternWe found many benchmark programs are not well-vecterized.

 Power efficiency of A64FX is very good (double efficiency than Xeon?)

24

July/01/2021

Fugaku System Software Stack
Live Data Analytics
Apache Flink, Kibana, ….

Fugaku AI (DL4Fugaku)

RIKEN: Chainer, PyTorch, TensorFlow, DNNL…

Math Libraries

Fujitsu: BLAS, LAPACK, ScaLAPACK, SSL II
RIKEN: EigenEXA, KMATH_FFT3D, Batched BLAS,,,,Cloud Software Stack

OpenStack, Kubernetis, NEWT...

Compiler and Script Languages
Batch Job and Management
Fortran, C/C++, OpenMP, Java, python, …
System(Multiple Compilers supported: Fujitsu, Arm, GNU,
LLVM/CLANG, PGI, …)
Hierarchical File System
Tuning and Debugging Tools
Fujitsu: Profiler, Debugger, GUI
High-level Prog. Lang. Domain Spec. Lang.
XMP
FDPS

Process/Thread
PIP

Low Level CommunicationuTofu, LLC

File I/O
DTF

Open Source
Management Tool
Spack

ObjectStoreS3 Compatible

Red Hat Enterprise Linux 8 Libraries
Communication
Fujitsu MPIRIKEN MPI

~ 3000 Apps
supported by Spack

Virtualization & Container
KVM, Singularity

File I/O for Hierarchical Storage
Lustre/LLIO

Most applications may wor
k with simple recompile fro
m x86/RHEL environment.
LLNL Spack automates this.

Red Hat Enterprise Linux Kernel+ optional light-weight kernel (McKernel)
July/01/2021

26

System software and Programming models & languages
for “Fugaku”
 Standard programming model is OpenMP (for NUMA node(CMG)) + MPIBoth OpenMPI (by Fujitsu) and MPICH (by Riken) are supported.

4 compilers (Fujitsu, gcc, LLVM/Arm, Cray), OpenMP 4.x is supported.

uTofu low-level comm. APIs for Tofu-D interconnect.

 Container and Virtual machine (KVM, Singularity, …)
 DL4Fugaku: AI framework for A64FX and Fugaku, used in Chainer, PyTorch, TensorFlow
 Many Open-source software are already ported using Spack System software and Programming tools, Math-Libs developed by RIKEN

McKernel: Light-weight Kernel enabling jitter-less environment for large-scale parallel
program execution.



XcalableMP directive-based PGAS Language

FDPS: DLS for Framework for Developing Particle Simulators.

EigenExa: Eigen-value math library for large-scale parallel systems.
27July/01/2021

Performance Tuning for A64FX processor
 HPC-oriented design

Small core ⇒ Less O3 resources(Relatively) Long pipeline

9 cycles for floating point operations

Core has only L1 cacheHigh-throughput, but long-latency
Pipeline often stalls
for loops having complex body.

A64FX
ReOrder Buffer

128 entries

Reservation Station

60 (=10x2+20x2) entries 97 entries

Physical Vector Register

128 (=32 + 96) entries

168 entries

Load Buffer

40 entries

72 entries

Store Buffer

24 entries

56 entries

SWP: software pipelining- ～ 20% speedup in Livermore Kernels
Automatic and Manual loop fissions

Performance improvement by SWP inLivermore Kernels by Fujitsu compiler
28

224 entries

A64FX : https://github.com/fujitsu/A64FXSkylake : https://en.wikichip.org/wiki/intel/microarchitectures/skylake_(server)

 Compiler optimization (Fujitsu compiler)
SkylakeEvaluation power mode: Boost mode (2.2GHz) & Eco mode (1 SIMD pipeline)
mode

15%-25% reduction comparing to that in normal
mode.
Stream200



Reach to 95% out of peak performance
The performance is 10% better than thatin normal mode.

The power increases by 13.7%

The power-efficiency decreases by 3.3 %DGEMM
normal-PW

768

100

5125029



1024

150

0

Power & Performance of DGEMM (inFujitsu Lib) using Boost mode

48

normal-PW

eco-PW

normal-TP

eco-TP

12 16 20 24 28 32 36 40 44 48# of threads

2560Power (W)The power increases upto 24 threads.

total throughput (GB/s)

The performance is almost the same as that innormal mode (24 threads hits 80% of peakmemory bandwidthPower (W)boost-PW

normal-GF

boost-GF

2003200

150

2400

100

1600

50

800

00481632# of threads

48GFLOPS Power & Performance of STREAM using Eco

11/May/2021

「京」から「富岳」への進歩
京ノードのコア数富岳

比848(nm)457

コア当たりの性能(GFLOPS)

1664 (70)4(4.4)

ノード当たりの性能. (TFLOPS)

0.128

3.07 (3.37)

24 (26.4)

ノードのメモリバンド幅(GB/s)

641024

ラック当たりのノード数

96384

4

ラックの性能(TFLOPS)

12.3

1180 (1297)

95(105)

システム全体のノード数

82,944

158,976

システム性能（PFLOPS)倍精度

10.6

488 (537)

単精度

10.6

977 (1070) 84.6 (104.4)

半導体技術

42.3 (52.2)「ノード」とは、ネットワークにつながるコンピュータの単位
富岳の場合は、ノードは１チップからなる。１チップは、複数のコア（コンピュータ）を内蔵する。
2021/07/10

No.1 in Green500 at SC19!

2021/07/10

Announce fromFujitsu at SC19

TOP500, HPCG, HPL-AI, Graph500 の4冠
2020年6月時点
周波数
ノード数
(GHz)

TOP500 152,064
HPCG
138,240
HPL-AI
126,720
Graph500 92,160

測定値

ピーク性能

2.2 415.53 PF 513.85 PF
2.2
13.36 PF 467.14 PF
2.0
1.42 EP
1.55 EP
2.2 70.98 Tteps

効率

80.9%
2.9%
91.3%

使用ノー
ド数の割
合

性能

性能差（倍率）

96%
87%
80%
58%

148.60 PF
2.92 PF
0.55 EF
23.75 Tteps

2.8
4.6
2.5
3.0

第2位との比較

備考：性能値は小数点第3位以下切り捨て

 TOP500
密行列係数連立1次方程式をLU分解法で求解するプログラム(Linpack)を使用

 HPCG

疎行列係数連立一次方程式を共役勾配法（conjugate gradient）で求解するプログラムを使用

 HPL-AI密行列係数連立1次方程式をLU分解かつ混合演算（倍精度浮動小数点(FP64)、半精度浮動小数点(FP16))によって求解するプログラムを使用

 Graph500
2021/07/10

グラフ探索問題

「富岳」全系によるベンチマークテスト結果（6月の結果との比較）
11月
6月
13.4 16.0

6月 11月415.5 442.0

148.6倍倍

2.93TOP500

6月
70,980

4.33
2.99

3.64
2.58倍

倍

11月
6月 2.00

1.42

4.57
5.48

2.80
2.97

11月
102,950

HPCG

0.55

23,756HPL-AI

Graph500
ビッグデータ処理での性能評価（単位：PFLOPS）（単位：PFLOPS）（単位：EFLOPS）

浮動小数点の演算での性能評価

実際にアプリケーションを稼働させた性能評価

AI処理での性能評価（単位：GTEPS）

2位に対して、3倍から5.5倍近い性能差を実現

2020年6月22日発表
2021/07/10
International Supercomputing Conference (ISC 2020)

スーパーコンピュータ世界ランキング33

目標は達成できたか？
Target applications

 ターゲット・アプリケーションの性能は達成できた。

 電力については、設計時の想定よりも低くなった。

 20-30MWでの運用を想定

2021/07/10

Performance relative
to the K computer

Powerconsumption

昨年度、共用前に前倒しで実施されたコロナ対策のための計算科学

2021/07/10

富岳でのアプリケーション
 京では、システム全体でなにができるか（capability)を目標としていた
 富岳では、京で数ジョブしか同時に動かすことができなかった大規模アプリを数十から数百ジョブを同時に動かすことができるようになる。（capacity) 実際の科学の研究では、いろいろなケースを試してみることが大切 シミュレーションとデータ科学の融合
 AIを加速する仕組みも！
文科省のホームページより http://www.
mext.go.jp/b_menu/shingi/chousa/shinkou/
020/shiryo/__icsFiles/afieldfile/2018/09/18/
1409147_4_1.pdf
2021/07/10

富岳とAI/ML ディープラーニングでは、大量のパータンを読み込ませて、「学習」する必要があるために、大量の計算が必要。

 アプリごとに別の学習が必要

スパコンやGPUが必要。

 富岳は、ディープラーニングの学習のための演算を高速化する命令がある。
 また、ディープラーニングのニューラルネットワークが大きくなると並列処理が必要

 科学技術計算とAI (ディープ・ラーニング） 時間のかかる計算の代わりに、あらかじめ学習をしておいたディープ・ラーニングで答えを求める
 学習のデータが足りない場合に、シミュレーションした結果を学習に使うことが期待されている。
2021/07/10

「富岳」の開発を振り返って
 プロジェクトリーダーの石川さんに感謝
 RWCP新情報処理開発機構からの経験が生きた、と思う このプロジェクトは、「開発」プロジェクト
「研究」プロジェクトとは、まったく違う。最後にはシステムを稼働する必要がある。

 目標設定は重要,

プロジェクトの存在理由となる目標が達成できて、よかった。

 ７年は長い

基本設計(2014-2015)時に、2019-2020年で使えるテクノロジ（例えば、7nmの半導体）を予想して、設計しなくてはならない。



実は、10nmを使う予定で、7nmに変更して、

が、チップを作るのは設計が完了して(2017年）シリコンがでてくるまで、おおよそ、2年かかる。

 「京」の反省点（海外にうれなかった）のは、解消された（？）
2021/07/10

情報科学の研究とスパコン・プロジェクト
 そもそも、CSの研究をしている人はスパコンには興味がない（なかった…)
 システム（CS)の研究と、それを使うアプリ側の研究のずれ

一緒に、研究しましょう、というのは理想だが、…



結局、研究中のものは、アプリは使わない。

つかってもらうCSの研究はむずかしい。

post-Peta CRESTの例：アプリに近いものはいいが、基礎的なところはむずかしい。

 そもそも、富岳の開発プロジェクトは、研究ではなかった.
 A64FXはまだまだ、ソフトの開発の余地があるので興味のある方はよろしく。
 また、クラウドとかデータ処理とか、計算科学のニーズも多様化している。
 我が国のプロセッサ開発の将来は？
 将来の若手の方に期待！
2021/07/10