細野七月 総合生存学館特任助教、村主崇行 理化学研究所特別研究員、堀田英之 千葉大学特任助教、牧野淳一郎 神戸大学教授、井上晃 富士通株式会社マネージャーらの研究グループは、スーパーコンピュータ「京(けい)」を用いて、数式のような簡潔な指示を書くだけでスーパーコンピュータでの計算に必要となる高度なプログラムを自動生成できるプログラミング言語「Formura」を開発しました。
本研究成果は、2016年9月22日付けで関数型言語を扱う科学誌の高性能計算部門「FHPC 2016:Proceedings of the 5th International Workshop on Functional High-Performance Computing」に掲載されました。また高性能計算技術を扱う科学誌「SC '16 Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis Article No. 3」にも掲載され、高性能計算技術の国際的な賞であるゴードン?ベル賞のファイナリストに選ばれました。
研究者からのコメント
贵辞谤尘耻谤补を开発したことで、规则格子シミュレーション分野においては、自然科学者が惯れ亲しんだ方程式の记法を使ってシミュレーションしたい対象を记述することで、スーパーコンピュータの性能を引き出すための高度なプログラムが自动的に作成できるようになりました。気象、地震、宇宙、生态ネットワークの研究など、规则格子シミュレーションを用いる分野の研究の加速が期待されます。
概要
スーパーコンピュータでの计算に必要となるプログラムはときに数十万行にも及び、作成やチューニングは大変困难です。一方で、原理的にはシミュレーションしたい自然现象とその离散化法(もともと连続的である自然现象を、有限个の要素で近似的に表す方法)を指定すれば、プログラムは机械的に生成できます。しかし、プログラミングはシミュレーションとコンピュータ双方に深い知识が必要となる非常に高度な作业であり、多数の计算机を协调して动作させるスーパーコンピュータの性能を引き出す高度なプログラムを、自动かつ汎用的に生成することは不可能でした。
そこで本研究グループは、方程式がプログラムに変换されるまでの一连の段阶に対応する数学的定义を作りました。スーパーコンピュータが持つ阶层のすべての段阶において、自然が元来备えている「并列性」と「局所性」を保持する変换を厳密に定めることで、新たなプログラミング言语「贵辞谤尘耻谤补」を开発しました。これによって、これまで不可能だったプログラミングの机械化に成功しました。贵辞谤尘耻谤补は、同じアプリケーションに対して何万通りものプログラムを试し、最も速かったものを自动的に选択します。
また、実际に贵辞谤尘耻谤补を用いて记述したプログラムで、地下に伸びる菌类の复雑な挙动をシミュレーションすることに成功しました。このとき贵辞谤尘耻谤补は、3万行以上ものプログラムを4万通り以上、自动的に生成しました。一方で、その元となったシミュレーションプログラムはわずか20行あまりで、はがき一枚に収まる程度でした。
図:贵辞谤尘耻谤补で作成したプログラムによってシミュレートされた地下の生态ネットワーク
捕食者(緑)が被捕食者(赤)に対して优势な领域が大规模なクラスタ(青线)を作ることが示された。縦轴?横轴の単位はミリメートル。先行研究である笔别补谤蝉辞苍らが1993年に2次元で行ったシミュレーションを3次元に拡张し、同じ振る舞いがおこることを再现して确かめた。解像度が大幅に上がったことで、大规模な捕食者クラスタの成长も観测できている。
详しい研究内容について
书誌情报
【顿翱滨】
Takayuki Muranushi, Seiya Nishizawa, Hirofumi Tomita, Keigo Nitadori, Masaki Iwasawa, Yutaka Maruyama, Hisashi Yashiro, Yoshifumi Nakamura, Hideyuki Hotta, Junichiro Makino, Natsuki Hosono, Hikaru Inoue. (2016). Automatic Generation of Efficient Codes from Mathematical Descriptions of Stencil Computation. FHPC 2016 Proceedings of the 5th International Workshop on Functional High-Performance Computing, Pages 17-22.
【顿翱滨】
Takayuki Muranushi, Hideyuki Hotta, Junichiro Makino, Seiya Nishizawa, Hirofumi Tomita, Keigo Nitadori, Masaki Iwasawa, Natsuki Hosono, Yutaka Maruyama, Hikaru Inoue, Hisashi Yashiro and Yoshifumi Nakamura. (2016). Simulations of Below-Ground Dynamics of Fungi: 1.184 Pflops Attained by Automated Generation and Autotuning of Temporal Blocking Codes. SC16: International Conference for High Performance Computing, Networking, Storage and Analysis, Article No. 3, pp. 23-33.