共同研究・競争的資金等の研究課題

2018年4月 - 2021年3月

指示文とメタプログラミングによる性能可搬性に優れた高性能並列プログラミングモデル

日本学術振興会  科学研究費助成事業 基盤研究(C)  基盤研究(C)

課題番号
18K11331
体系的課題番号
JP18K11331
担当区分
研究代表者
配分額
(総額)
4,420,000円
(直接経費)
3,400,000円
(間接経費)
1,020,000円

本研究の目的は,1種類のソースコードを様々な計算環境において高い性能で利用可能にすること,すなわち性能可搬性を考慮したプログラミング言語とそれを処理できるコンパイラを開発することである.
昨年度(2018年)は、次の2つのコンポーネントの開発および評価を行った.(1) 既存の指示文ベースの並列言語であるOpenMPを拡張し,複数のアクセラレータを利用できる構文を開発した.この構文を用いることで,ユーザはアクセラレータの構成(種類や数など)が異なる計算環境においても,同じソースコードを用いることができる.(2) HPC向けの高度な最適化(ループ・アンローリングやデータレイアウト変換など)を簡易に記述可能にするため、FortranおよびC言語をターゲットとしたメタプログラミングについて検討を行い,その言語の設計およびコンパイラの実装を行った.
昨年度に行った研究は1つの計算ノードを対象としている。そこで、今年度(2019年)に行った研究は複数の計算ノードを対象とした。HPCアプリケーションによく現れる計算パターンであるステンシル計算に着目し、そのステンシル計算を簡易に並列化できる構文を開発した。さらに、性能可搬性を高めるため、並列ステンシル計算に必要なパラメータ(通信と計算のオーバラップの有無、袖幅、配列の各次元に対する分割数など)を自動決定できる構文を開発した。現在、その構文を用いた並列ステンシルアプリケーションの開発と、コンパイラの開発を並行して進めている。

リンク情報
KAKEN
https://kaken.nii.ac.jp/grant/KAKENHI-PROJECT-18K11331
ID情報
  • 課題番号 : 18K11331
  • 体系的課題番号 : JP18K11331