（並列プログラミング言語XcalableMP規格部会）「XMP規格部会の活動報告」
XcalableMP規格部会長
朴 泰祐（筑波大学 計算科学研究センター）
副部会長
岩下 英俊（富士通） 、林 康晴（日本電気）

2019/02/22

PCクラスタワークショップ＠柏1

XcalableMP• 分散メモリ環境を対象とした指示文ベースの並列言語• 次世代並列プログラミング言語検討委員会 → 当部会において仕様を検討、提案。
• 2つの並列プログラミングモデルをサポート– グローバルビューモデルによる定型的な並列化– ローカルビューモデルによる自由度の高い並列化• MPIとの inter-operability• 一般的なPCクラスタの他、京コンピュータ・ポスト京コンピュータでも稼働（「ポスト京」は予定）

2019/02/22

PCクラスタワークショップ＠柏2

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

今年度は3回の部会を開催 (6/5, 10/5, 3回目は2/25に予定, いずれも理研東京事務所)
 新仕様V2.0に向けた新しい議論
 動的なタスクモデルの実現検討
 MPIとの連携、C等の言語とのインタラクションのための関数群

 現仕様V1.4規格のリリース

http://xcalablemp.org/download/spec/xmp-spec-1.4.pdf
 アクセラレータに向けたOpenACCとの融合⇨XcalableACCの規格化の検討→ さらにオープンソフトウェア部会と連携し仕様の規格化と配布・プロモーショ
ンを積極的に行う（本日午前のチュートリアル）
https://github.com/XcalableMP/XACC-Specification

2019/02/22

3

並列プログラミング言語XcalableMP規格部会 2018年度報告（続き）


第6回XMPワークショップ開催（11/1@筑波大）
http://www.xcalablemp.org/ja/workshop6.html
 共催：理化学研究所、筑波大学計算科学研究センター、高性能Fortran推進協議会
 Invited Talk 5件を含む10件の発表、招待講演は以下の通り
Serge Petiton (U. Lille 1): Data Parallel Dense and Sparse Linear Algebra using Global Arrays Matthias Mueller (RWTH Aachen): Are our simulation results reliable? Why correctness
checking is important for programming paradigms
 Christian Terboven (RWTH Aachen): Reactive Task-parallel Programming Joachim Protze (RWTH Aachen): Synchronization, Concurrency and Memory Access
Semantics in XMP
 Thomas Dufaud (U. Versailles): Design of Data Management for Multi SPMD Workflow
Programming Model

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

2019/02/22

4

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 コンパイラ

2019/02/22

www.xcalablemp.org
omni-compiler.org

PCクラスタワークショップ＠柏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 theput_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 block 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 se
nt to the node matched by the tag.

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

Node 1in(A)Node 2in(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)taskA

puttaskB

taskC

taskD

6

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

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

2019/02/22

PCクラスタワークショップ＠柏7

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





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

課題

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

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

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

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

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



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

XMP講習会時期：10月末〜11月始めを想定。基盤センターのシンポジウム等との連携も模索。

単独ではなく他のイベントとの連続開催を検討

リファレンス実装


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

本の出版

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

PCクラスタワークショップ＠柏8

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

PCクラスタワークショップ＠柏9