著者
津金 佳祐 中尾 昌広 李 珍泌 村井 均 佐藤 三久
雑誌
研究報告ハイパフォーマンスコンピューティング(HPC) (ISSN:21888841)
巻号頁・発行日
vol.2016-HPC-155, no.29, pp.1-8, 2016-08-01

近年,高性能計算分野においてチップ内に多くのコアを搭載するメニーコアプロセッサを用いた大規模並列システムが登場している.そのようなシステムにおける並列化手法の一つとしてタスク並列が注目されており,本稿では,分散メモリ環境上での動的なタスク並列処理をより簡易な記述で実装可能とすべく PGAS 言語 XcalableMP(XMP) の拡張を行う.記述として tasklet 指示文を提案し,ノード内/外におけるタスク間の依存関係の記述による細粒度な同期や,通信と計算のオーバラップによる性能向上を目指す.タスク生成や制御は Argonne National Laboratory(ANL) により開発が進められている軽量スレッドライブラリである Argobots を用いる.現在は,実装対象である Omni XMP Compiler のランタイムのみの実装であるため,コード変換は手動で行う.提案手法の予備評価としてブロックコレスキー分解のコードを対象とし,性能・生産性の評価を行った.比較対象は,MPI+OpenMP による実装と INRIA によって開発が進められている StarPU による実装である.StarPU 実装との比較では一部優位な点が見られたが,MPI+OpenMP 実装との比較では最大で約 15%の性能低下が見られた.生産性の比較では,指示文による記述を採用したことによりベースコードから少ない変更で実装可能なことから,tasklet 指示文による記述の生産性の高さを示した.