FLAGSHIP2020プロジェクトとエクサスケールに向けたプログラミングモデルの課題

佐藤 三久

アーキテクチャ開発チーム・チームリーダー

エクサスケールコンピューティング開発プロジェクト
理化学研究所 計算科学研究機構
2015年/10月/28日

Outline FLAGSHIP 2020 projectto develop the next Japanese flagship computer system, “post-K”

“co-design” effort to design the system

 Challenges for Parallel Programming Models and Languages for

exascale computingPlan for XMP 2.0

2

Towards the Next Flagship Machine
PostT2K

PF
1000

PostK

Arch: Upscale Commodity
Cluster Machine

Flagship Machine

Post K Computer

Soft: Technology PathForward Machine

RIKEN

Manycore architecture Manycore architecture

100

O(100K-1M) nodes

O(10K) nodes

9 Universities
and National
Laboratories

PostT2K

U. of Tsukuba
U. of Tokyo

10

1

U. of Tsukuba
U. of Tokyo
Kyoto U.

•

PostT2K is a production system
operated by both Tsukuba and Tokyo•

The post K project is to design the next
flagship system (exascale) and
deploy/install the system for services,2020
the project was launched at 2014

T2K
•

2008

2010

2012

2014

2016

2018

2020

3

FLAGSHIP 2020 Project

MissionsDeveloping wide range of HPC applications, running on Post K, in order tosolve social and science issues in our country.

Planned Budget

Building the Japanese national flagship supercomputer, Post K, and

110 Billion JPY (about 0.91 Billion USD at the rete 120 JPY/$)
including research, development (NRE) and acquisition/deploy, andapplication development

Post K Computer: System and Software

RIKEN AICS is in charge of development

Fujitsu is selected as a vendor partnerStarted from 2014
: Compute Node

CY

Basic Design

Design and Implementation

Manufacturing, Installation,
and Tuning

Operation

4

Current status of the post-K projectThe procurement for the development of the post-K computer
system was done.


Fujitsu was selected as the vender partner.

In the specification of RFP:

Constraints are:Power capacity (about 30MW)Space for system installation (in Kobe AICS building)Budget (money) for development (NRE) and production.

... some degree of compatibility to the current K computer.

 We are now

finishing the “basic design” of the system withthe vender partner.



The system should be designed to maximize the performance of
applications in each computational science field.
"Co-design" is a keyword!
5

Post K Computer CPU• Many-core with Interconnect interface
integrated on chip
• Power Knob feature for saving power Interconnect• TOFU (mesh/torus network)
…
…
…
…
…
…
…
…
…
…
…
…

Co-design may include:• Compute NodeFeatures• Core architecture,
FP performance• Memory hierarchy,
control, capacity,and bandwidth• Network Performance• I/O Performance

I/O Network
MaitenanceServers

PortalServers

Login
Servers

Hierarchical
Storage System:Interconnect: Compute
Node6HPCにおけるコデザイン （１）

なぜ、コデザインが必要か？（特に、“エクサ・スケールシステム”に向けて！）


電力の制約： 一定の電力の制約の上で、システムの性能を上げる必要がある（postKの仕様書では、約３０ＭＷ）
コストの制約： コストも同じように抑える必要がある。

アプリケーションの特性を考慮した設計が必要 ⇒ コデザイン


HPCにおけるコデザインは、できるだけ多くのアプリをカバーしつつ、性能を最適化する必要
がある。




組み込みの“コデザイン”とは、異なる。組み込み向けのシステムでは、特定のアプリケーションに“特化”したデザインのことを意味する場合が多い。
一方、HPCシステムは、システムのコストが高くなるため、たくさんアプリケーションを実行できなくてはならない。

7

HPCシステムにおけるコデザインの要素
 Hardware/architecture











Node architecture (#core, #SIMD,
etc...)

System softwarecache (size and bandwidth)

network (topologies, latency andbandwidth)memory technologies (HBM and
HMC, ...)
specialized hardware



Algorithm and math lib#nodes

Storage, file systems... system configurations


Operating system for many corearchitecturecommunication library (low level
layer, MPI, PGAS)
Programming model andlanguages

Dense and Sparse solver
Eigen solver
Domain-specific lang & lib andframework

And, Applications!
8HPCにおけるコデザイン （２） Richard F. BARRETT, et.al. “On the Role of Co-design in High

Performance Computing”, Transition of HPC Towards ExascaleComputing より

9ターゲットとするアプリケーション・計算科学の分野
 「京」の時には、戦略プログラム

SPIRE (Strategic Programs forInnovative Research) を対象とした


これは、京が稼働した後。



京の設計・稼働前には、「グランドチャレンジプログラム」があった。

 Post Kに向けては：

昨年度において、委員会が組織され、9つの重点課題が選定され、それぞれの重点課題の研究開発実施機関が選定された。
それぞれの重点課題から、ターゲットとなるアプリケーションと実行シナリオが提案された。

10

Five strategic areas of SPIRELife science/Drugmanufacture
ゲノム

New material/energy
creation

Global change prediction
for disasterprevention/mitigation

Shinji TSUNEYUKI(University of Tokyo)

Shiro IMAWAKI(JAMSTEC)

全身

タンパク質

組織，臓器
細胞

多階層の生命現象

Toshio YANAGIDA(RIKEN)

Monodukuri(Manufacturing technology)

Chisachi KATO
(University of Tokyo)

The origin of matter andthe universe

Shinya AOKI
(University of Tsukuba)

重点課題 (1/2)①社会的・国家的見地から高い意義がある、②世界を先導する成果の創出が期待できる、③ポスト「京」の戦略的活用が期待できる課題を「重点課題」として選定。
カテゴリ
健康長寿社会の実現

重点課題① 生体分子システムの機能制御による革新的創薬基盤の構築

超高速分子シミュレーションを実現し、副作用因子を含む多数の生体分子について、機能阻害ばかりでなく、機能制御までをも達成することにより、有効性が高く、さらに安全な創薬を実現する。

② 個別化・予防医療を支援する統合計算生命科学

健康・医療ビッグデータの大規模解析とそれらを用いて得られる最適なモデルによる生体シミュレーション（心臓、脳神経など）により、個々人に適した医療、健康寿命を延ばす予防をめざした医療を支援する。

防災・環境問題③ 地震・津波による複合災害の統合的予測システムの構築

内閣府・自治体等の防災システムに実装しうる、大規模計算を使った地震・津波による災害・被害シミュレーションの解析手法を開発し、過去の被害経験からでは予測困難な複合災害のための統合的予測手法を構築する。

④ 観測ビッグデータを活用した気象と地球環境の予測の高度化

観測ビッグデータを組み入れたモデル計算で、局地的豪雨や竜巻、台風等を高精度に予測し、また、人間活動による環境変化の影響を予測し監視するシステムの基盤を構築する。環境政策や防災、健康対策へ貢献する。

本日この後紹介12

重点課題 (2/2)

カテゴリ
エネルギー問題重点課題⑤ エネルギーの高効率な創出、変換・貯蔵、利用の新規基盤技術の開発

複雑な現実複合系の分子レベルでの全系シミュレーションを行い、高効率なエネルギーの創出、変換・貯蔵、利用の全過程を実験と連携して解明し、エネルギー問題解決のための新規基盤技術を開発する。

⑥ 革新的クリーンエネルギーシステムの実用化

エネルギーシステムの中核をなす複雑な物理現象を第一原理解析により、詳細に予測・解明し、超高効率・低環境負荷な
革新的クリーンエネルギーシステムの実用化を大幅に加速する。

産業競争力の強化⑦ 次世代の産業を支える新機能デバイス・高性能材料の創成

国際競争力の高いエレクトロニクス技術や構造材料、機能化学品等の開発を、大規模超並列計算と計測・実験からのデータやビッグデータ解析との連携によって加速し、次世代の産業を支えるデバイス・材料を創成する。

⑧ 近未来型ものづくりを先導する革新的設計・製造プロセスの開発

製品コンセプトを初期段階で定量評価し最適化する革新的設計手法、コストを最小化する革新的製造プロセス、およびそれらの核となる超高速統合シミュレーションを研究開発し、付加価値の高いものづくりを実現する。

基礎科学の発展⑨ 宇宙の基本法則と進化の解明

素粒子から宇宙までの異なるスケールにまたがる現象の超精密計算を実現し、大型実験・観測のデータと組み合わせて、多くの謎が残されている素粒子・原子核・宇宙物理学全体にわたる物質創成史を解明する。

13

重点課題実施機関
カテゴリ

重点課題名

健康長寿社会の実
現①生体分子システムの機能制御による革新的
創薬基盤の構築

防災・環境問題エネルギー問題

産業競争力の強化

基礎科学の発展2015/05/1

選定実施機関理化学研究所生命システム研究センター（課題責任者：奥野 恭史・客員主管研究員）
他５機関②個別化・予防医療を支援する統合計算生命
科学（課題責任者：宮野 悟・教授）

東京大学医科学研究所
他５機関③地震・津波による複合災害の統合的予測システムの構築（課題責任者：堀 宗朗・教授）

東京大学地震研究所
他４機関④観測ビッグデータを活用した気象と地球環境の予測の高度化海洋研究開発機構地球情報基盤センター（課題責任者：高橋 桂子・センター長）
他３機関⑤エネルギーの高効率な創出、変換・貯蔵、利用の新規基盤技術の開発（課題責任者：岡崎 進・教授）⑥革新的クリーンエネルギーシステムの実用化（課題責任者：吉村 忍・教授）⑦次世代の産業を支える新機能デバイス・
高性能材料の創成（課題責任者：常行 真司・教授）⑧近未来型ものづくりを先導する革新的設計・
製造プロセスの開発

東京大学生産技術研究所（課題責任者：加藤 千幸・教授）
他６機関⑨宇宙の基本法則と進化の解明

筑波大学計算科学研究センター（課題責任者：青木 慎也・客員教授）
他７機関

自然科学研究機構分子科学研究所
他８機関
東京大学大学院工学系研究科
他１１機関

Yutaka Ishikawa @ RIKEN AICS

東京大学物性研究所
他８機関

14

重点課題からのアプリケーション
Target Application
Program

Brief description①

GENESISMD for proteins②

Genomon

Genome processing (Genome alignment)③

GAMERA

Earthquake simulator (FEM in unstructured & structured
grid)

④

NICAM+LETK

Weather prediction system using Big data (structured gridstencil & ensemble Kalman filter)⑤

NTChemmolecular electronic (structure calculation)⑥

FFB

Large Eddy Simulation (unstructured grid)

⑦

RSDFT

an ab-initio program (density functional theory)⑧

Adventure

Computational Mechanics System for Large Scale Analysis
and Design (unstructured grid)⑨

CCS-QCD

Lattice QCD simulation (structured grid Monte Carlo)15

Co-design推進体制
コデザイン連携推進委員会

定例検討会

＜役割＞
Co-design進捗確認、重点課題間のCo-design連携、その他

システムソフト要件・課
題・工程検討会
システム構成＆運用要件WG

コデザイン検討会
CPU・インターコネクト構成＆性
能要件WG
重点課題アプリ性能評価WG

ファイルI/O&階層ストレージWG＜構成員＞
・理研AICS ４チームリーダー
・重点課題実施機関コデザイン責任者
・理研AICS コデザイン責任者

コデザインSUBWG課題①＜役割＞
・ターゲットアプリケーションとシステムアーキテクチャとのCo-design
・アプリ開発者に使いやすいプログラミング環境、数値ライブラリの検討
・主要アプリケーションのチューニング支援＜構成員＞
・SUBWG主催者
・実施機関 アプリ開発者
・理研AICS 計算科学系、計算機科学系研究者

OSカーネル＆ランタイムWG
通信WG
スケジューラWG
運用WG

コデザインSUBWG課題⑨
性能評価環境・ツールWG
プログラミング環境WG
アルゴリズム・コデザインWG
数値計算ライブラリWG
施設WG
16

（基本設計における）コデザインの取り組み


各アプリをベースに、システムの基本構成・パラメータの決定

ベンダーが提供するツール








① 性能電力予測ツール： FX-100(もしくはFX-10)のプロファイル情報を入力して、post-Kの性能を予測するツール② 性能シミュレータ＋コンパイラ： post-Kのシミュレーション環境（但し、カーネル評価に限定される）

性能評価: 各アプリについて実施(1) 性能概算見積もり – 定式化による性能見積もり （roof-lineモデル等）

(2) 詳細性能見積もり - ①のツールを利用した見積もり(3) カーネル性能見積もり - ②のシミュレータを利用。但し、カーネルの切り出しが必要。

コスト・全体電力を勘案し、プロセッサアーキテクチャ・ネットワークの基本的なパラメータを策定


コア数、演算性能、キャッシュ構成、メモリ構成、ネットワーク構成、…
17

（基本設計における）コデザインの取り組み
 制約条件としてのコスト・全体電力からのシステム構成の検討
 各アプリでの電力制御の方式・可能性の検討


ネットワークのバンド幅選択やCPUの周波数等のPower-Knob制御

 プログラミング環境（言語コンパイラ等）・性能ツール・数値計算ライブラリ

基本設計を行うとともに、ユーザからヒアリングを行い基本設計に反映

 粒子系、連続系などの典型的なアプリに対するDSLの設計・プロトタイピング
 システムソフトウエア
ファイルシステム、…

18

何が違っているのか 「京」の時からの違い

ツールの高度化ターゲットアプリの明確化

アプリの実行シナリオを考慮（「京」の時は、capability的なシナリオが主だった）

ベースとなるアーキテクチャ、経験がある。

 スパコンセンター等の調達でのコデザインとの違いプロセッサのアーキテクチャまで踏み込んでいる。調達では、コデザインはプロセッサ・ネット
ワークの「選択」
規模が違う（が、最近のスパコンセンターのシステムでも電力・規模はシステム設計の重
要な要素）

19

これからのコデザイン計画 今までは、主に“上から下へ”。


問題点・コメント 既存のアプリからの検討
で、必ずしも新しい“革新的な”アーキテクチャが生まれるわけではない。
 最適化されているアプリ
は、ハードウエアの選択の幅を狭くする。
 多様なプログラムをサポートするのも重要な要素。

ターゲットアプリの性能の確保、 複数のアプリを支えるUnionのアーキテクチャ

 これからは“下から上へ”も進める必要がある

全体電力・コストの制約はこの一つ

アーキテクチャの特徴（メニーコアなど）を生かしたアプリ、プログラミングモデル、アルゴリズムの開発



電力を考慮したアプリ開発、電力制御方式

 さらに新しいアプリ・課題（たとえば、「ゲリラ豪雨予測」）
20

エクサスケールに向けた
プログラミングモデルの課題

21

Issues for exascale computingImportant aspects of post-

petascale computing
 Large-scale system
 < 10^6 nodes, for FT
 Strong-scaling> 10TFlops/nodeaccelerator, many-cores Power limitation
 < 20-30 MW

Peak
flops

Exaflops system

1EFlops1018

petaflops
by 100-1000nodes

1PFlops1015

theK computer
NGS> 10PF
1TFlops1012

T2K-tsukuba(95TF)
PACS-CS (14TF)

1GFlops109

limitationof #node
1

10

102

103
#node

104

105

106

Simple relationship between#nodes and node performanceto achieve exascale22A projection: Pre-exa, exa, post-exa
System performance (PF)Pre-exa
50～500exascale
Post-exa
500～5,000 1,000～10,000

node performance (TF)

1～10

5～50

10～100#number of node (K)

5～500

10～1,000

10～1,000

Performance/ power(GF/W)

2～20

20～200?

400?

Memory bandwidth and 0.5～1TB/s (HBM) 1～4TB/s (HBM)
technology
150GB/s (DDR4)???

 Node performance must increase! Because the system scale is limitedby space and power.

 Memory performance will be limited. So, the cap between B/F will begetting worse.

 Improvement of performance/power will be difficult and limited.

23

Challenges of Programming Languages/models
for exascale computing
 Scalability, Locality and scalable Algorithms insystem-wide Strong Scaling in node Workflow and Fault-Resilience (Power-aware)

24

“MPI+X” for exascale?
 X is OpenMP!
 “MPI+Open” is now a standard programming for high-end systems.

I’d like to celebrate that OpenMP became “standard” in
HPC programming Questions:“MPI+OpenMP” is still a main programming model for
exa-scale?

25

Question
 What happens when executing code using all cores inmanycore processors like this ?

MPI_recv …
#pragma omp parallel forfor ( … ; … ; … ) {… computations …
}
MPI_send …

Data comes into “mainshared memory”
Cost for “fork” become large
data must be taken from MainmemoryCost for “barrier” become large
MPI must collect data from eachcore to send

 What are solutions?


MPI+OpenMP runs on divided small “NUMA domains”
rather than all cores?
26

Barrier in Xeon Phi
Omni OpenMPsense-reversing barrierusing conditional variable

heavy access to a shared variable (sense)

not scalable on Xeon Phi !!!

Xeon Phi 7120P(61 cores)
native modenum of ESs: 128
num of ULTs: 2~128

Barrier Benchmark using pthread
and Argbot

 cond: Omni OpenMP algorithm
 count: using gnu __sync_fetch_and_dec tree: (binary) tree barrier argobots: built-in barrier

27

Multitasking model

Multitasking/Multithreaded execution:
many “tasks” are generated/executed andcommunicates with each others by data
dependency.
Thread-to-thread synchronization/communications rather than barrier

Advantages








OpenMP task directive, OmpSS, PLASMA/QUARK,StarPU, ..

Remove barrier which is costly in large scale
manycore system.
Overlap of computations and computation is done
naturally.
New communication fabric such as Intel OPA(OmniPath Architecture) may support core-to-corecommunication that allows data to come to coredirectly.

New algorithms must be designed to use
multitasking

From PLASMA/QUARK slides by ICL, U. Teneessee

28

PGAS (Partitioned Global Address Space) models
Light-weight one-sided communication and low overhead synchronization semantics.



PAGS concept is adopted in Coarray Fortran, UPC, X10, XMP.


XMP adopts notion Coarray not only Fortran but also “C”, as “local view” as well as“global view” of data parallelism.

Advantages and comments

Easy and intuitive to describe, not noly one side-comm, but also strided comm.
Recent networks such as Cray and Fujitsu Tofu support remote DMA operation whichstrongly support efficient one-sided communication.
Other collective communication library (can be MPI) are required.
CGPOP : 7500 nodes

NICAM : 640 nodes

Case study of XMP on K computer
CGPOP, NICAM: Climate code
5-7 % speed up is obtained by replacing
MPI with Coarray

29

XcalableMP(XMP) http://www.xcalablemp.org
What’s XcalableMP (XMP for short)?



XMP Spec WG is a special interest group to
design and draft the specification of
XcalableMP language. It is now organizedunder PC Cluster Consortium, Japan. Mainly
active in Japan, but open for everybody.

Project status (as of Nov. 2014)



XMP Spec Version 1.2 is available at XMP site.
new features: mixed OpenMP and OpenACC ,libraries for collective communications.
Reference implementation by U. Tsukuba andRiken AICS: Version 0.9 (C and Fortran90)
is available for PC clusters, Cray XT and K
computer. Source-to- Source compiler to codewith the runtime on top of MPI and GasNet.

HPCC class 2 Winner 2013. 2014
Possiblity of Performance tuning

A PGAS programming model and languagefor distributed memory , proposed by XMPSpec WG

Automatic
parallelization

XcalableMP

chapel
HPF

MPI
PGAS

XMP provides a global
view for data parallel
program in PGAS
model

Programming cost

Language Features

Directive-based language extensions for Fortranand C for PGAS model Global view programming with global-view
distributed data structures for data parallelism
 SPMD execution model as MPI
 pragmas for data distribution of global array.
 Work mapping constructs to map works anditeration with affinity to data explicitly.
 Rich communication and sync directives suchas “gmove” and “shadow”.
 Many concepts are inherited from HPF
 Co-array feature of CAF is adopted as a part ofthe language spec for local view programming(also defined in C).


int array[YMAX][XMAX];#pragma xmp nodes p(4)#pragma xmp template t(YMAX)#pragma xmp distribute t(block) on p
#pragma xmp align array[i][*] to t(i)main(){
int i, j, res;
res = 0;Code example

data distribution

add to the serial code : incremental parallelization#pragma xmp loop on t(i) reduction(+:res)for(i = 0; i < 10; i++)for(j = 0; j < 10; j++){work sharing and data synchronizationarray[i][j] = func(i, j);
res += array[i][j];}}30

XcalableMP as evolutional approachWe focus on migration from existing codes.


Learn from the pastSpec WG is organized under the PC Cluster Consortium, Japan

Design based on PGAS model and Coarray (From CAF)


Global View for data-parallel apps. Japanese community had experience of
HPF for Global-view model.

Specification designed by community

Directive-based approach to enable parallelization by adding
directives/pragma.
Also, should be from MPI code. Coarray may replce MPI.

PGAS is an emerging programming model for exascale!

Used as a research vehicle for programming lang/model research.


XMP 2.0 for multitasking.
Extension to accelerator (XACC)

 Specification v 1.2:

XcalableMP 2.0

Support for Multicore: hybrid XMP and OpenMP is defined.



Dynamic allocation of distributed array

A set of spec in version 1 is now “converged”. New functions should be
discussed for version 2.

Main topics for XcalableMP 2.0: Support for manycoreMultitasking with integrations of PGAS modelSynchronization models for dataflow/multitasking executions

Proposal: tasklet directive


Similar to OpenMP task directiveIncluding inter-node communication on PGAS
int A[100], B[25];#pragma xmp nodes P()#pragma xmp template T(0:99)#pragma xmp distribute T(block) onto P#pragma xmp align A[i] with T(i)/…/#pragma xmp tasklet out(A[0:25], T(75:99))
taskA();#pragma xmp tasklet in(B, T(0:24)) out(A[75:25])
taskB();#pragma xmp taskletwait

Node1

Node2

Node3

Node4

taskA
A[0:25] -> B[0:25]

taskB
A[0:25]

A[25:25]

A[50:25]

A[75:25]
32

Proposal of Tasklet directive
double A[nt][nt][ts*ts], B[ts*ts], C[nt][ts*ts];#pragma xmp node P(*)
#pragma xmp template T(0:nt-1)#pragma xmp distribute T(cyclic) onto P#pragma xmp align A[*][i][*] with T(i)for (int k = 0; k < nt; k++) {#pragma xmp tasklet inout(A[k][k], T(k+1:nt-1))
omp_potrf (A[k][k], ts, ts);

The detail spec of the directive is underdiscussion in spec-WG

Currently, we are working on prototype
implementations and preliminary evaluations



Example: Cholesky Decomposition
node 1for (int i = k + 1; i < nt; i++) {#pragma xmp tasklet in(B, T(k)) inout(A[k][i], T(i+1:nt-1))
omp_trsm (B, A[k][i], ts, ts);}for (int i = k + 1; i < nt; i++) {for (int j = k + 1; j < i; j++) {: inout#pragma xmp tasklet in(A[k][i]) in(C[j], T(j)) inout(A[j][i]) black
white : in
: depend
omp_gemm (A[k][i], C[j], A[j][i], ts, ts);
: comm}#pragma xmp tasklet in(A[k][i]) inout(A[i][i])omp_syrk (A[k][i], A[i][i], ts, ts);}

A[0][0]node 2

A[0][1]A[1][1]gemm

A[0][0]A[0][3]

A[0][2]
A[0][1]A[1][2]

A[0][2]A[2][2]

A[0][3]
A[0][1]A[1][3]

A[0][3]
A[0][2]A[2][3]

A[0][3]A[3][3]

A[1][1]A[1][1]A[1][3]

A[1][1]A[1][2]

A[1][2]A[2][2]

A[1][3]
A[1][2]A[2][3]

A[1][3]A[3][3]

A[2][2]

trsm

syrk

node 4

A[0][0]A[0][2]

A[0][0]A[0][1]

potrf}#pragma xmp taskletwait

node 3

A[2][2]A[2][3]Cholesky Decomposition
distributed on 4 nodes

A[2][3]A[3][3]A[3][3]33

Strong Scaling in node

Two approaches:SIMD for core in manycore processors

Accelerator such as GPUs

Programming for SIMD
Vectorization by directives or automatic compiler technologyLimited bandwidth of memory and NoCComplex memory system: Fast-memory (MD-DRAM, HBM, HMC) and
DDR , VMRAM

Programming for GPUs

Parallelization by OpenACC/OpenMP 4.0. Still immature but getting
matured soon
Fast memory (HMB) and fast link (NV-Link): similar problem of complex
memory system in manycore.
Programming model to be shared by manycore and accelerator for highproductivity.
34How to use MC-DRAM in KNL?
 New Xeon Phi (KNL) has fast memory called MC-DRAM.
KNL performance: < 5 TF (Theoretical Peak)

DDR4: 100～200 GB/s, MC-DRAM: 0.5 TB/s

How to use?
From Intel Slide
presented at
HotChips 201535

XcalableACC(ACC) = XcalableMP+OpenACC
 Extension of XcalableMP for

GPU





A project of U. Tsukuba leaded by Prof.
Taiuske Boku
“vertical” integration of XcalableMP
and OpenACCData distribution for both host and GPU
by XcalableMP
Offloading computations in a set ofnodes by OpenACC

Proposed as unified parallel programming
model for many-core architecture &acceleratorGPU, Intel Xeon Phi



OpenACC supports many architectures

Source Code Example: NPB CG#pragma xmp nodes p(NUM_COLS, NUM_ROWS)#pragma xmp template t(0:NA-1,0:NA-1)#pragma xmp distribute t(block, block) onto p#pragma xmp align w[i] with t(*,i)#pragma xmp align q[i] with t(i,*)
double a[NZ];
int rowstr[NA+1], colidx[NZ];…
#pragma acc data copy(p,q,r,w,rowstr[0:NA+1]¥, a[0:NZ], colidx[0:NZ]){…
#pragma xmp loop on t(*,j)#pragma acc parallel loop gangfor(j=0; j < NA; j++){double sum = 0.0;
#pragma acc loop vector reduction(+:sum)for (k = rowstr[j]; k < rowstr[j+1]; k++)sum = sum + a[k]*p[colidx[k]];w[j] = sum;}#pragma xmp reduction(+:w) on p(:,*) acc#pragma xmp gmove acc
q[:] = w[:];…
} //end acc data36

Prog. Models for Workflow and data managements
 Petascale system was targeting some of “capability”

computing.

 In exascale system, it become important to execute huge

number of medium-grain jobs for parameter-search typeapplications.

Workflow to control and collect/process data isimportant, also for “big-data” apps.

37

International Collaboration between DOE and MEXTPROJECT ARRANGEMENTUNDER THE IMPLEMENTING ARRANGEMENTBETWEEN
THE MINISTRY OF EDUCATION, CULTURE, SPORTS, SCIENCE AND TECHNOLOGY OF JAPANAND
THE DEPARTMENT OF ENERGY OF THE UNITED STATES OF AMERICA
CONCERNING COOPERATION IN RESEARCH AND DEVELOPMENT IN ENERGY AND RELATEDFIELDS
CONCERNING COMPUTER SCIENCE AND SOFTWARE RELATED TO CURRENT AND FUTURE
HIGH PERFORMANCE COMPUTING FOR OPEN SCIENTIFIC RESEARCH

Purpose: Work together where it is mutually beneficial toexpand the HPC ecosystem and improve system capability– Each country will develop their own path for next
generation platforms– Countries will collaborate where it is mutually
beneficial• Joint Activities– Pre-standardization interface coordination– Collection and publication of open data
– Collaborative development of open source software– Evaluation and analysis of benchmarks andarchitectures– Standardization of mature technologies

Yoshio Kawaguchi (MEXT, Japan)
and William Harrod(DOE, USA)

Technical Areas of Cooperation• Kernel System Programming Interface• Low-level Communication Layer• Task and Thread Management to Support Massive
Concurrency• Power Management and Optimization• Data Staging and Input/Output (I/O) Bottlenecks• File System and I/O Management• Improving System and Application Resilience to Chip
Failures and other Faults• Mini-Applications for Exascale Component-Based
Performance Modelling38

PGAS and Advanced programming models for exascale systems
•
•

•

•

•

PGAS and advanced
Coordinators
JPUS
programming models– US: P. Beckman (ANL), JP: M. Sato (RIKEN)
Leaders
UH: OpenUH Coarray
PGAS+Multitasking
Extension for manycore system
Fortrancompiler– US: L. Kale (UIUC), B Chapman (U Huston), J. Vetter
XcalableMP 2.0,
Runtime design for PGAS(ORNL), P. Balaji (ANL)(PGAS+multithreading)
ANL: Argobots lightcomm and Multithreading
Omni compiler infra.
weight thread library– JP: M Sato (RIKEN)
Advanced prog. Models for
Collaborators
UIUC: Charm++
XcalableACC
load-balancing and migrations(XcalableMP+– S. Seo (ANL), D Bernholdt (ORNL), D. Eachempati(UH) Advanced runtime
T. Boku
Advanced prog. Models for
and MSAOpenACC)(U. Tsukuba)– H. Murai (RIKEN), J. Lee (RIKEN), N. Maruyama
maycore and accelerator
systems(RIKEN), T. Boku (U. Tsukuba)
DSL and compiler
ORNL: OpenARC
using OpenARC
compiler project
Collaboration topics(Maruyama, AICS,– Extension of PGAS (Partitioned Global Address Space)
Matsuoka, Titech)Supercomputers in US
model with language constructs of multitasking
PostT2K, Post K, Tsubame3(multithreading) for manycore-based exascale systems• Deliverables– Runtime design for PGAS communication and– Concepts for PGAS and multithreading integration for manycore-based
multitasking
exascale systems.
– Advanced programming models to support both
– Concepts for advanced programming model to be shared by both manycore
manycore-based and accelerator-based exascale
and accelerators-based systems.
system for high productivity.
– Pre-standardization of Application Programming Interface for multithreading– Advanced programming models for dynamic load(based on Argobots) and PGAS
balancing and migration in exascale systems• Recent activities and plans
How to collaborate– AICS teams visited UH, UIUC and ANL for discussions.
– Twice meetings per year
– Start using Argobots for Omni OpenMP compiler and produced preliminary– Student / young researchers exchange, sharing codes
results on intel Xeon Phi.
– Funding:– AICS invited Post-doc from UH for collaborations on PGAS
– ORNL visited AICS to have a meeting for the collaboration• US: ARGO, X-stack(XPRESS), X-stack(Vancouver,
ARES)– JP (AICS , Tsukuba) will send Post-doc and students to ANL and UH, ORNL
– JP and ORNL will have a meeting in JP or US how to collaborate.
• JP: FLAGSHIP 2020, PP-CREST (JP)39