（並列プログラミング言語XcalableMP規格部会）「XMP規格部会の活動報告」
XcalableMP規格部会長
朴 泰祐
筑波大学 計算科学研究センター

2018/12/14

第18回PCクラスタシンポジウム

1XcalableMP• 分散メモリ環境を対象とした指示文ベースの並列言語• 次世代並列プログラミング言語検討委員会 → 当部会において仕様を検討、提案。
• 2つの並列プログラミングモデルをサポート– グローバルビューモデルによる定型的な並列化– ローカルビューモデルによる自由度の高い並列化• MPIとの inter-operability

2018/12/14

第18回PCクラスタシンポジウム

2

並列プログラミング言語XcalableMP規格部会 2018年度中間報告

今年度は2回の部会を開催 (6/5, 10/5 いずれも東京)、来年2/25に3回目を予定


新仕様V2.0に向けた新しい議論


動的なタスクモデルの実現検討



MPIとの連携、C等の言語とのインタラクションのための関数群



現仕様V1.4規格のリリース⇨SC18前に実施
http://xcalablemp.org/download/spec/xmp-spec-1.4.pdf



アクセラレータに向けたOpenACCとの融合⇨XcalableACCの規格化の検討

第6回XMPワークショップ開催（11/1@筑波大）


共催：理化学研究所、筑波大学計算科学研究センター、高性能Fortran推進協議会
Invited Talk 5件 (日独仏共同研究SPPEXAにおけるMYXプロジェクト支援による)

XMPの仕様・研究内容を本にまとめ出版予定

2018/12/14

Springerより

3

XcalableMPの現況• PCクラスタコンソーシアムで規格を議論– 2018/10 Version 1.4仕様を公開。
• Combined directive• Tasklet機能 (draft、V2.0に向けて）– 2015年より、次期仕様「XMP2.0」の検討を開始。
• PGAS + Multitasking for Multicore• Code transformation for Optimization• XcalableACC for Accelerator• 理研・筑波大で、レファレンス実装– Omni XMP コンパイラ

2018/12/14

www.xcalablemp.org
omni-compiler.org

第18回PCクラスタシンポジウム

4Omni XcalableMP

.....
.....

XMPソース

フロントエンド• 理研AICSと筑波大で開発中のXMP処理系– XMP/C– XMP/Fortran

第18回PCクラスタシンポジウム

中間表現(XcodeML)

トランスレータ

.....
.....

• オープンソース• トランスレータ + ランタイム(MPIベース)• OpenACC、XcalableACC対応
2018/12/14

.....
.....

中間表現
(XcodeML)

Omni XcalableMP
バックエンド(デコンパイラ)
XMPランタイム
.....
.....

C/Fortran
ソース

MPIライブラリ

ネイティブ
コンパイラ

実行形式

5

Put operation in tasklet

put_ready clause: indicates that the specified data may be written by theassociated PUT operation

This clause has the dependence-type out for the specified data on a node since its values areoverwritten by the remote node.

put clause: indicates that the PUT operation may be performed in the associatedstructured block.
At the beginning of the block, the task waits to receive the post notification with the tag by the
put_ready clause to indicates that the data is exposed in the target node for the PUT operations.

• When output dependencies for the data are satisf
ied before executing the block, the clause expose
s the data for the PUT operation from the specifie
d set of nodes by sending the post notifications tothese nodes, starting the PUT operations eventua
lly in remote nodes. Then, it waits until remote op
erations are done. When the task receives the completion notification of the PUT operation, the bl
ock is immediately scheduled.
• When the post notification is received, the task isscheduled to execute the calculation and PUT ope
ration in the block. When the execution of the blo
ck is finished, the data written by the PUT operati
on is flushed and the completion notification is sent to the node matched by the tag.

#pragma xmp nodes P(2)int A:[*], B, C, D, tag;

Node 1

Node 2in(A)

in(A)#pragma xmp tasklet in(A) out(B) on P(1)B = A;/* taskA */startpost#pragma xmp tasklet in(A) out(C) on P(1)C = A;/* taskB */completeout(A)#pragma xmp tasklet out(A) put(tag) on P(2)A:[1] = 1; /* taskC */waitin(A)#pragma xmp tasklet in(A) out(D) ¥put_ready(A, P(1), tag) on P(1)D = A;/* taskD */out(A)taskAputtaskBtaskC

taskD

6Block-Cholesky Benchmark: Results on OFPComparison with “Parallel Loop” (PL) and Task-based

“Put” and “Send/Recv”

(OMPSS)

Performance [GFLOPS]

8000

MPI+OMP, PL, Send/Recv

7000

MPI+OMP, PL, Put

6000

MPI+OMP, Task, Send/Recv

5000

MPI+OMP, Task, Put
MPI+OMPSS, Task, Send/Recv

4000
3000
2000
1000
012481632# of nodes
7

XcalableMP規格部会の今後の方向性• より広い範囲に知ってもらい使ってもらう– アプリケーション例を広げ、使いやすさを知ってもらう– 講習会の機会を増やす– 規格部会を閉じられたものにせず広く知ってもらい参加してもらう• 新しいアーキテクチャへの対応– Many-coreアーキテクチャ対応と最適化を進め、ポスト京での実利用を目指す– XcalableACCを規格化し、GPUのような演算加速デバイスへの対応を進める⇨ OpenACCだけに限らない可能性も？

• 「規格化」と「研究」の両立– 広めるための規格化を進めつつ、実験的要素を取り込みさらに発展させたい• 問い合わせ窓口の設置– support@xcalablemp.org -> Q&A
2018/12/14

第18回PCクラスタシンポジウム

8XcalableMP規格部会 2019年度活動計画案
体制
部会長：
副部会長：





朴泰祐（筑波大学)
岩下 英俊（富士通） 、林 康晴（日本電気）

課題魅力的なプログラミング環境： 使いやすさだけでなく性能も

XcalableMP 2.0仕様の実アプリケーションを想定した性能・機能検証、アプリケーション事例をできる限り増やす

XcalableACC (XACC)のGPU実装仕様の確定と他のアクセラレータデバイス対応の検討

OpenMPアクセラレータ規格への対応の検討

活動予定
部会：年３回 （次回未定：５月、１０月、２月を想定）

第7回XMPワークショップの開催


XMP講習会時期：10月末〜11月始めを想定。基盤センターのシンポジウム等との連携も模索。
単独ではなく他のイベントとの連続開催を検討

リファレンス実装


v2.0案の性能・機能検証ベンチマーク・データの収集

本の出版

執筆を進めSpringerから出版。XMPの初の出版物。
9

規格部会は開かれています
ぜひご参加下さい！

第18回PCクラスタシンポジウム

10