九州先端科学技術研究所(ISIT)と富士通、富士通研究所は3月20日、次世代のエクサスケールスーパーコンピュータに向けたユーザープログラムの高速化に関して、ビッグデータ解析による自動高速化手法を確立し、従来の人手による手法に比べて、実行速度を平均65%以上、高速化する技術を開発したと発表した。

同技術は、ユーザーが記述したプログラムをコンピュータが実行できる形式に翻訳するコンパイラと呼ばれるシステムソフトウェアに関わるものである。コンパイラは、プログラムを高速化するための様々な最適化手法を有しているが、適用する最適化手法は、一般的にユーザーからの指示(最適化オプション)に基づいて決定する。最適化オプションは、数百万通りの膨大な組み合わせの中から、的確な組み合わせを選択する必要がある。しかし、限られた時間の中でユーザーが最適な組み合わせを見出すことは事実上不可能であり、ユーザーは経験を元に最適化オプションを決めていた。このため、最高性能を出すことが困難であったり、経験の差がプログラムの性能に差が生じるという問題があった。

そこで、ユーザーに代わって最適化オプションの指定を自動的に行う技術を開発した。原理は、これまでにコンパイル、実行された多種多様なユーザープログラムを対象に、その特徴、用いた最適化オプションの組み合わせ、そのユーザープログラムを実行した際の性能を蓄積し、これらのデータをビッグデータとして機械学習で分析することで、これからコンパイルしようとする新たなユーザープログラムにとって最良の最適化オプションの組み合わせを推定する。同技術は、ユーザープログラムの高速化を図る上で画期的なものであり、従来の人手による最適化オプション指定に比べて、平均で65%、最大で3倍以上もの高速化が可能であることが確認できたとしている。

同技術のうち、ユーザープログラムの特徴決定とシステム試作は九州大学の村上研究室とISITのシステムアーキテクチャ研究室が共同で実施した。また、ビックデータ解析に基づいて実施されるユーザープログラムの解析と最適化技術には富士通および富士通研究所の技術が適用されている。

今後、ISIT、富士通、および富士通研究所は、実用化に向けて開発した技術を関連研究機関の試用を通して、データの蓄積を増やして予測の精度をさらに向上させ、引き続き、国内のスーパーコンピュータ開発、利活用技術の研究開発を推進していくとコメントしている。