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

今回開発した技術は、ユーザーが記述したプログラムをコンピュータが実行できる形式に翻訳するコンパイラと呼ばれるシステムソフトウェアに関わるもの。

コンパイラは、プログラムを高速化するための様々な最適化手法を有しているが、適用する最適化手法は、一般的にユーザーからの指示(最適化オプション)に基づいて決定する。最適化オプションを指定する方法では、数百万通りの膨大な最適化オプションの組合せの中から的確な組合せを選択する必要があり、限られた時間の中でユーザーが最適な組み合わせを見出すことは事実上不可能であり、ユーザーは経験を元に試行錯誤で最適化オプションを決めていた。そこで、ユーザーに代わって最適化オプションの指定を自動的に行う技術を開発した。

原理は、これまでにコンパイル、実行された多種多様なユーザープログラムを対象に、その特徴、用いた最適化オプションの組合せ、そしてそのユーザープログラムを実行した際の性能を蓄積し、これらのデータをビッグデータとして機械学習で分析することで、これからコンパイルしようとする新たなユーザープログラムにとって最良の最適化オプションの組合せを推定する。

この技術により、従来の人手による最適化オプション指定に比べて、平均で65%、最大で3倍以上の高速化が可能であることが確認できたという。

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

今後、3社は実用化に向けて開発した技術を関連研究機関の試用を通して、データの蓄積を増やして予測の精度を更に向上させていく。