2021/4/26
第152回お試しアカウント付き並列プログラミング講習会「スーパーコンピューター超入門」

より進んだ利用に向けて

お試しアカウント✓

利用者番号

tUVXYZ (t + 数字5桁)✓

利用グループ

gt00

✓

利用期限

5/26 (水) 9:00 まで有効✓

利用可能ノード数

8ノード以内

✓ジョブあたり実行時間

15分以内

期限までは、利用規程で認められた目的範囲で自由にご使用ください3どのように使うか• 一般利用
- 研究代表者（大学、公的研究機関の方）- グループでの利用も可➡ 研究実施に必要なトークン量を見積もる必要

利用負担金(年額，税込)

利用可能
ノード数

割当資源（トークン）

ディスク量/work

Oakbridge-CX 100,000円
OBCX/年 (1セット)

最大256
ノード

8,640 ノード時間（1ノード×360日相当）

4TB

システム

＃ 電気代相当の経費を負担# 一般利用の資源利用状況は show_token, show_quota コマンドで確認可【企業の方は、企業利用制度により利用（詳細HP参照）】

4利用予定プログラムで計算時間見積もり
OBCX の実機上でも、自分の研究室のマシンでも● 担当講師の手元にあるプログラム
自分で書いた分子動力学コード, MPI + OpenMP に対応
やりたいこと：

16,384,000 粒子 100 ナノ秒 = 108 ステップ が必要★OBCX 1ノードで実行, 104 ステップから確認

5MPI + OpenMP
ハイブリッド並列

OBCX 搭載のCPU= Intel Xeon Platinum 8280 (CascadeLake)
1 CPU = 28 コア
OpenMP 7スレッド
x MPI 4プロセス

OpenMP＝ 指示文挿入による並列化
プログラムの大幅な書換えはしなくて良いが、ノード内のみ

DDR4
DDR4
DDR4
DDR4
DDR4
DDR4

Memory96 GB2933 MHz• 6ch
140.8 GB/sec

MPI＝ 通信の明示的指定

1スレッド, 1プロセス(Cascade Lake, CLX)
2.7GHz, 28-Cores
2.419 TFLOPSUPI
UPI
UPI

Soc. #0: 0th-27th coresIntel® Xeon®
Platinum 8280
(Cascade Lake, CLX)
2.7GHz, 28-Cores
2.419 TFLOPS
Soc. #1: 28th-55th cores

Ultra Path Interconnect
10.4 GT/sec • 3= 124.8 GB/sec

DDR4
DDR4
DDR4
DDR4
DDR4
DDR4Memory
96 GB

ノード #128+28 コア

2933 MHz• 6ch
140.8 GB/sec

Intel Omni-Path (100 Gbps)

ノードまたぎ並列には必須
基本は１コアあたりIntel® Xeon®
Platinum 8280

合計 2 ノード
OpenMP 7スレッド
x MPI 16プロセス

Memory
96 GB

DDR4
DDR4
DDR4
DDR4
DDR4
DDR42933 MHz• 6ch
140.8 GB/sec

Intel® Xeon®
Platinum 8280
(Cascade Lake, CLX)
2.7GHz, 28-Cores
2.419 TFLOPS
Soc. #0: 0th-27th cores

UPIUPI
UPIIntel® Xeon®
Platinum 8280
(Cascade Lake, CLX)
2.7GHz, 28-Cores
2.419 TFLOPS
Soc. #1: 28th-55th cores

Ultra Path Interconnect
10.4 GT/sec • 3= 124.8 GB/sec

DDR4
DDR4
DDR4
DDR4
DDR4
DDR4Memory
96 GB2933 MHz• 6ch
140.8 GB/sec

ノード #228+28 コア

実行結果
1ノード, 56 コア (8 MPI x 7 OpenMP)
32,000 粒子

11.84 sec

● 単純に必要計算資源を見積もると…

16,384,000 粒子

108 ステップ

Array Use Information:
MMD:
max of Nproc: 341003 (curr. lim=341936)
max of celenum[cn]: 45 (curr. lim=62)
max of nnlmmax[n]: 127 (curr. lim=149)
average of cell list duration: 0.018844
Function Load
514.293sec
347.768sec
0.00851301sec
6.53144sec
3.96262sec
87.233sec
15.6167sec
53.7682sec
17.8437sec
67.4933sec
50.0715sec
0.358424sec[67.6205%] force()[0.00165529%] dist_rand()[1.26998%] LFone()[0.770499%] LFtwo()[16.9617%] comm_particles()[3.03654%][array_sendrecv][10.4548%][comm_ispq][3.46957%][communicateparticles][13.1235%] structclist()[9.73599%][makennlist][0.0696925%][recvindexsearch]➡ 11.84 sec × (16,384,000 / 32,000) × (108 / 104)
= 6.602 x 107 sec = 16389 hours
１ノード換算でトークン16400 ノード時間が必要 (約2セット)
7まずは、1ノードで比較
104 ステップ

全て 1ノード, 56 コア (8 MPI x 7 OpenMP)
8倍
8倍
8倍

32,000 粒子

14.25 sec

256,000 粒子

71.43 sec

2,048,000 粒子

473.94 sec

16,384,000 粒子

3522.3 sec||5.3倍
6.6倍
7.47倍

約1時間

108 ステップ➡ 10000 時間 = 416日8もう少し詳しい並列性能評価の話
多くのアプリケーションは並列度を増やすと性能低下
目的： 逐次実行のプログラム = 実行時間 Ts
p 台を用いて実行時間 Tpを Ts/p にしたい
一般には・アルゴリズム上の困難・通信等オーバーヘッド

並列化効率 Ep = 100 × (Tp/Ts ) / p
並列化後の実行時間短縮 Sp = Tp/Ts
9もう少し詳しい並列性能評価の話

Spp10

並列化効率評価 = 多ノード実行性能を推定
16,384,000 粒子, 104 ステップに対して評価 (8 MPI x 7 OpenMP)
1 ノード

3522.26 sec

2 ノード

1929.47 sec

4 ノード

1091.22 sec

32 ノード164.84 sec

256 ノード

40.1173 sec

1.8倍(8 MPI x 7 OpenMP)(8 MPI x 14 OpenMP)

1.8倍(8 MPI x 28 OpenMP)
6.6倍
4.2倍

(64 MPI x 28 OpenMP)→ 20日 で108 step(512 MPI x 28 OpenMP) → 4日 で108 step

注）お試しアカウントでは 8 ノードまでしか実行できません
11台数効果を大雑把に逆算してみると。。。
■ 104 ステップに要する逐次実行時間（1コアとしたときの概算）

Ts = 3522.26 sec x 56 コア ~ 200000 sec.

■ 256 ノード = 14436 コア 使用した時の実行時間

40.1 sec ~ 5000 倍 = Sp

■ 台数効果の式から逆算
α ~ 0.99987
全体の計算のうちの99.987 % が並列化されていた

12

並列計算を開始する前に■ 99.99 % の並列化率というのは高い数字ですが、それでも100ノードを超えると、かなり計算速度は減少。

■ この事情は、例えばオープンソースの並列プログラム （OpenFOAM,LAMMPS, Gromacs, etc… ）を使用する場合も同じです。

■ 並列化率だけでなく、並列度に応じたメモリレイアウトの変化、データの読み込みや書き出しなどに影響される場合もあります。

■ 深層学習の並列計算というのもあります。
13

お役立ち情報 — GUI開発環境
一定以上の規模のコード開発には対話型開発環境 (IDE) が便利— GUI 環境でコード開発から検証まで
Eclipse, Xcode (mac), Android Studio (androidアプリ), ….
Python IDE = JupyterLab （後述）

Microsoft Visual Studio Codeフリー

Remote-SSH 機能が2019年より追加
スパコン上での利用も便利に
https://marketplace.visualstudio.com/items?itemName=msvscode-remote.vscode-remote-extensionpack

14

Visual Studio Code — ダウンロード
ウェブブラウザからダウンロード
https://code.visualstudio.com

拡張機能→ Remote Development → Install15

view > command palette > “remote-ssh ” と入力 → 選択
接続先 tUVXYZ@obcx.cc.u-tokyo.ac.jp を入力! .ssh/config を使っている方は、インポートできて便利です。

16

コードブロックの全体も見えて、作業がしやすくなっています。

17

当センターのスーパーコンピューターの紹介

どのマシンを使えばいいの？
18Supercomputers @ ITC/U.Tokyo

Information Technology Center, The University of Tokyo

FY1112131415

16171819

Yayoi: Hitachi SR16000/M1
IBM Power-7

216.61 PFLOPS

Oakforest-PACS (OFP) (JCAHPC)
Fujitsu, Intel Xeon Phi

140TF, 31.3TB22232425

Oakbridge-CXIntel Xeon CLX

54.9 TFLOPS, 11.2 TB

T2K Tokyo
Hitachi

20Post OFP ?
(JCAHPC)

25PFLOPS, 919.3TB

Oakleaf-FX: Fujitsu PRIMEHPC FX10,SPARC64 IXfx

BDEC System

Big Data & Extreme Computing

30+ PFLOPS

1.13 PFLOPS, 150 TB

Oakbridge-FX

Data Platform (DP/mdx)

136.2 TFLOPS, 18.4 TB

Reedbush-U/H, HPEIntel BDW + NVIDIA P100
1.93 PFLOPS

Reedbush-L HPE
1.43 PFLOPS

19

Now operating 3 Systems
2,600+ users (55+% from outside of U.Tokyo)• Reedbush (HPE, Intel BDW + NVIDIA P100 (Pascal))– データ解析・シミュレーション融合スーパーコンピュータ– 3.36 PF, 2016年7月〜 2021年11月末（予定）– 東大ITC初のGPUシステム (2017年3月より), DDN IME (Burst Buffer)• Oakforest-PACS (OFP) (Fujitsu, Intel Xeon Phi (KNL))– JCAHPC (筑波大CCS＆東大ITC)– 25 PF, TOP 500で6位 (2016年11月) (日本1位)（初登場時）– Omni-Path アーキテクチャ, DDN IME (Burst Buffer)• Oakbridge-CX (OBCX) (富士通, Intel Xeon Platinum 8280, CLX)
– 大規模超並列スーパーコンピュータシステム– 6.61 PF, 2019年7月 〜 2023年6月– 全1,368ノードの内128ノードにSSDを搭載

20

Oakfoest-PACS (OFP)

Knights Landing Overview
MCDRAMEDC

MCDRAMEDC

3MCDRAM

階層的プログラミングで高性能を発揮

PCIe
Gen 3

DM
I

MCDRAMEDC

MCDRAMEDC

MCDRAM

Omni-path not shown

misc

D
DR
4Package

DDR MCEDC

MCDRAM

Chip: 36 Tile
Tile: 2 CoresEDC

336 Tiles
connected by
2D MeshInterconnect

DDR MCEDC

4X4DMITile

DDR4CHA
NNELS

2 x16
1 x4CHAN
NE
LS

EDC

MCDRAM

Memory: MCDD
IO: 36 lanes
Node: 1-Soc
Fabric: Omn

Vector Peak
Scalar Perf:
Streams Tria

Source Intel: All products, com
are subject to change without
without notice. 1Binary Compa
numbers are based on STREA
estimated based on internal In
hardware or software design o21

マシン選択のガイドライン➡ プログラムが動作しますか？

受講者の皆さんは、今回のお試しアカウントでOBCXでの動作を確認可➡ 本番で必要な計算資源量（トークン量）を把握しましょう➡ メモリの必要量、データの保存量はどのくらいですか？
➡ 使うプログラムはどのシステムで使えますか / 向いてますか？

GPU (Wisteria-A, Reedbush)

データ科学系、分子動力学系、その他

メニーコア (Wisteria-O, OFP)

プログラムとの相性、高速化作業が重要

大規模超並列機 (OBCX)

広い範囲のワークロードに対応します22

23

GPUの利用!Graphics Processing Unit
!もともと PC の3D描画専用の装置!パソコンの部品として量産されている。

= 相対的に価格も低い

23

GPUの利用!GPUはグラフィックスやゲームの画像計算のために進化を続けている。
!CPUがコア数が2-12個程度に対し、GPUは1000以上のコアがある。
!GPUを一般のアプリケーションの高速化に利用すること「GPUコンピューティング」「GPGPU (General Purpose computation on GPU)」などという。
!2007年にNVIDIA社のCUDA言語がリリースされて大きく発展!ディープラーニング（深層学習）、機械学習、AI（人工知能）で注目24

GPUの利用!なぜGPUが使われるのか？
"性能高い"NVIDIA P100 (Reedbush-H) 5,304 GFlops"Intel Xeon Phi (Oakforest-PACS) 3,046.4 GFlops"消費電力低い"スパコンに搭載されている!コンピュータに取り付ける増設ボード"単体では動作できず、CPUからの指令が必要。
"CPUとGPUはメモリが異なるため、メモリ間のデータ移動もプログラミングする必要がある。

!多数の小さなコア（1000以上）を搭載。これを有効に活用するため「並列計算」が必須。
"CPUは大きなコア：分岐予測、パイプライン処理などできる。逐次処理が得意。
"GPUは小さなコア：CPUの持つ機能がほとんどないか、全くない。

25

Reedbush — NVIDIA Tesla P100

!計算はOSのあるCPUから始まる!物理的に独立のデバイスメモリとデータのやり取り必須
26

５月導入予定の新スーパーコンピューター
Wisteria/BDEC-01
CPU + GPU 複合型
当センターの今後６年間のflagship システム27

Supercomputers @ ITC/U.TokyoInformation Technology Center, The University of Tokyo

FY111213141516171819Yayoi: Hitachi SR16000/M1IBM Power-7216.61 PFLOPS

Oakforest-PACS (OFP) (JCAHPC)
Fujitsu, Intel Xeon Phi

140TF, 31.3TB22232425

Oakbridge-CXIntel Xeon CLX

54.9 TFLOPS, 11.2 TB

T2K Tokyo
Hitachi20

Post OFP ?
(JCAHPC)

25PFLOPS, 919.3TB

Oakleaf-FX: Fujitsu PRIMEHPC FX10,SPARC64 IXfx

BDEC System

Big Data & Extreme Computing

30+ PFLOPS

1.13 PFLOPS, 150 TB

Oakbridge-FX

Data Platform (DP/mdx)

136.2 TFLOPS, 18.4 TB

Reedbush-U/H, HPEIntel BDW + NVIDIA P100
1.93 PFLOPS

Reedbush-L HPE
1.43 PFLOPS

28

東京大学柏II キャンパス開所式

東京大学のスーパーコンピュータは 柏キャンパス＋柏II キャンパスへ
Oakforest-PACS
Oakbridge-CX

導入予定地
導入予定地

京大学情報基盤センター、NII柏分館@
東京大学柏京大学情報基盤センター、NII柏分館 @ 東京大学柏ャンパスャンパス
キャンパスには産総研ABCIキャンパスには産総研ABCI

開所式
開所式
Wisteria/BDEC-01

mdx+
産総研
ABCI
大総長、NII所長、文科省、柏市、etc.

大総長、NII所長、文科省、柏市、etc.

29

New system: Wisteria/BDEC-01
2021年5月14日運用開始予定

Wisteria = 紫藤Externalnetwork(SINET5)

7月末までは試用期間、申込により無料で利用可能
Fast File System
1 PB, 1.0 TB/sSimulation Nodes:
Odyssey
Fujitsu/PRIMEHPC FX1000
Arm A64FX processor 7680 nodes
25.9PF, 7.8 PB/s

CPU機「富岳」と同型

2.0 TB/s

800 Gbps

Data/Learning Nodes:
Aquarius
360 NVIDIA A100/SXM GPUs
(on 45 nodes of Intel IceLake CPUs)

7.20 PF, 578.2 TB/s

Shared File System
25.8 PB, 500 GB/s

GPU機

8台 / ノード30

全体構成Odyssey

Aquarius

25.9 PFLOPS
7,680 (10x8x8x2x3x2)

7.2 PFLOPS
45

総メモリ量

240 TiB

36.5 TiB

総メモリバンド幅

7.8 PB/s

578.2 TB/s

6D Mesh Torus

Full-bisection BW
Fat Tree

インタコネクトTofu-D

InfiniBand HDR

バイセクションバンド幅

13 TB/s

4.5 TB/s

理論演算性能ノード数

ネットワークトポロジ

ノード間結合・ストレージ
ネットワーク バンド幅

InfiniBand HDR, 2.0 TB/s
32

ノード構成項目

Processor name
CPU

#CPU (cores)
Frequency
Peak performance
MemoryGPU name
Peak performanceGPU
Memory#GPU / node
インターコネクト
External connection

Odyssey

Aquarius

Fujitsu PRIMEHPC
FX1000Fujitsu PRIMERGY GX257(Succesor model)

Fujitsu A64FXNext Intel Xeon
IceLake processor

1 (48+2 or 4)
2.2 GHz
3.3 TFLOPS
32 GB, 1TB/s-2 (36 + 36 )2.4GHz5.53 TFlops
512 GB / 409.6 GB/s
NVIDIA A100 Tensorcore
19.5 TFlops (FP64 Tensor Core)
40 GB, 1.55 TB/s

8, NVswitch connected
Tofu-D

InfiniBand HDR(200 Gbps) x4-25 Gbps/node33

Wisteria/BDEC-01 キーポイント
Odyssey
富士通 A64fx プロセッサを搭載（富岳と同型） 48 core / CPU高いメモリバンド幅 ( ノードあたり 1024 GB/ 秒)→ 数値流体力学・構造計算・電子状態計算などに特に威力

Aquerius
ノードあたり８台の NVIDIA A100 Tensorcore GPU を搭載、合計45ノード
GPU 1台ずつで利用可能
JupyterLab の利用環境も提供します34

35

GFLOPS（ピーク性能）当たり利用負担（円）：電気代
GFLOPS/W（Green 500）

43

*1: Fugaku, *2 NVIDIA DGX SuperPOD, TOP/Green 500@Nov. 2020
JPY/GFLOPSSmall is GoodGFLOPS/W
Large is Good

Oakleaf-FX/Oakbridge-FX (Fujitsu)(Fujitsu SPARC64 IXfx)

125

0.866

Reedbush-U (HPE) (Intel Xeon Broadwell (BDW))

61.9

2.310

Reedbush-H (HPE) (Intel BDW+NVIDIA P100x2/node)

15.9

8.575

Reedbush-L (HPE) (Intel BDW+NVIDIA P100x4/node)

13.4

10.167

Oakforest-PACS (Fujitsu) (Intel Xeon Phi/KNL)

16.5

4.986

Oakbridge-CX (Fujitsu) (Intel Xeon Cascade Lake)

20.7

5.076

Wisteria-Odyssey （Fujitsu/Arm A64FX）

17.8

14.66*1

Wisteria-Aquarius （Intel Xeon Ice Lake + NVIDIA A100x8）

9.00

26.20*2

System36

一般利用料金•

１セット = 60,000円 /年

WisteriaOdyssey
WisteriaAquarius（１年間 Odyssey 1 node 使用する量に相当）

最大利用可能ノード数

トークン量

ディスク量

2,304 nodes

8640 (=24x360)/ (node hours)

2TB / set

2880(=24x120)/ (GPU hours)

2TB / set

= 110,592 cores (予定）
8 nodes= 64 GPUs (予定）他、ノード固定 or GPU占有利用、外部接続ノード利用など
詳細の料金情報はホームページ 参照
https://www.cc.u-tokyo.ac.jp37

情報基盤センターの資源を無料で使いたい場合• 若手・女性利用課題
40歳以下または女性、年２回の募集（次回は 8月末〆切）• 学際大規模情報基盤共同利用・共同研究拠点課題
基盤センターとの共同研究,2021年度は募集終了• HPCI 課題（RIST）
2021年度分の一般課題について、各基盤センター分は募集終了
38