理研/千葉大/神戸大/京大/富士通、スパコン向け言語を開発
16 12/12
理化学研究所(理研)、千葉大学、神戸大学、京都大学、富士通の研究グループは、理研と富士通が共同開発したスーパーコンピューター(スパコン)「京」を簡単に活用できるプログラミング言語「Formura(フォーミュラ)」を開発した。従来シミュレーションとコンピューターの双方に深い知識が必要だったスパコンのプログラミングを機械化することに成功、数式のような簡潔な指示を書くだけで、京などのスパコンでの計算に必要となる高度なプログラムを自動生成できる新たな言語となる。
スパコンは、構造上多数の計算機を協調して動作させる仕組みのため、マシン全体の性能を完全に引き出すためには、1人ひとりに指示を出すマスゲームのように計算機の全てに適切に計算を割り振り、タイミングを合せ協調して動作させなければならない。
その上、計算の並列化のためのプログラムや高性能を発揮するための変換が加わることで、計算に必要となるプログラムは数十万行になる場合もあることから、スパコンのプログラムの作成やチューニングは難しく、一般にスパコンの活用が広がらない一因となっている。
今回、理研などの研究グループはまず、元々の方程式が表す自然現象を一気にシミュレーションできるスパコンがあると仮定し、方程式が表す対象をその仮想スパコンのプログラムに翻訳する方式を考案。方程式がプログラムに変換されるまでの一連の段階に対応する数学的定義を作り、新しいプログラミング言語を開発した。
フォーミュラは、同じアプリケーションに対して何万通りものプログラムを生成し、京の高い性能を活かしてそれらの候補をすべて実行して性能を測定し、最も速かったものを自動的に選択する。
実際にフォーミュラで記述したプログラムで、地下に伸びる菌類の複雑な挙動のシミュレーションを実施した際には、3万行以上のプログラムを4万通り以上自動的に生成した。元となったシミュレーションプログラムは20行、はがき1枚に収まる程度だったとしている。
理研では現在、富士通と共同で次世代型京の開発を進めているが、スパコンの活用シーンが広がらないと、かつての事業仕分け時のように世界最高性能のスパコン開発に対する疑問の声が出かねない。今回の新しい言語の開発により、スパコン活用のすそ野拡大とそれに伴う幅広い産業領域における問題解決への適用に期待がかかる形だ。