空白

English >>  原子力機構HP >>  所在地・地図 >>  お問い合わせ >>

PBVR

プログラム開発の目的及び概要

2012年9月より10PFLOPS超の計算性能を誇る「京」コンピュータの一般利用が開始されたように、 現在では超大規模の計算機を一般のユーザが利用できるような環境になりつつある。そして、 このような大規模な計算機の性能を有効に利用するため、日本原子力研究開発機構・システム計算科学センターでは大規模並列計算機用の固有値計算ルーチンを開発し、 「Eigen-K」として公開している。通常、計算機による演算では無限桁の実数を有限で表現して演算を行うため、 演算1回ごとに誤差が混入するが、これまでのシミュレーションではあまり問題にはならなかった。しかし、 「京」コンピュータのような超大規模計算機の性能を有効に利用するようなシミュレーションを実施した場合、 計算回数がこれまでよりも多くなり、誤差による影響が大きくなる可能性がある。そのため、得られた計算結果の有効精度がほとんど無いということになることも考えられる。 実際、地球シミュレータを利用して375,000次元の実対称行列の全固有値・固有ベクトルを計算したところ、その精度は数桁であった[1]。

この問題を解決するため、日本原子力研究開発機構・システム計算科学センターでは、 David H. Baileyが提案した2つの倍精度変数を組み合わせて4倍精度変数を表現するdouble-doubleアルゴリズム[2]に注目し、 このアルゴリズムを用いて「Eigen-K」に含まれる固有値計算ルーチンの高精度化を行った。このルーチンを用いることで、 高精度の固有値計算を容易に実現することができることから、本成果は計算科学分野の研究進展や我が国の技術基盤強化に資すると考えられるため、 その開発成果を機構外の研究者にも提供する。

プログラムの特徴

  • 「京」コンピュータ用の固有値計算ルーチンである「Eigen-K」のルーチン群をBaileyのdouble-doubleアルゴリズムを用いて4倍精度化。
  • 実対称行列の固有値と固有ベクトルを3重対角化経由で求めるルーチン群を4倍精度化したものを(QPEigen_s)とする。
  • 実対称行列の固有値と固有ベクトルを5重対角化経由で求めるルーチン群を4倍精度化したものを(QPEigen_sx)とする。
  • エルミート行列の固有値と固有ベクトルを求めるルーチン群を4倍精度化したものを(QPEigen_h)とする。
  • 1000コアを超える並列計算でも高性能を維持している[3]。

原子力機構のBX900システムで5万次元の実対称行列を計算した際の計算時間および計算性能

コア数計算時間(秒)計算性能
128 20813 388 GFLOPS (ピーク性能比 26%)
256 10418 779 GFLOPS (ピーク性能比 26%)
512 6214 1328 GFLOPS (ピーク性能比 22%)
1024 3335 2500 GFLOPS (ピーク性能比 21%)

参考文献

  1. Susumu Yamada, Toshiyuki Imamura, Takuma Kano, Masahiko Machida, “High-Performance Computing for Exact Numerical Approaches to Quantum Many-Body Problems on the Earth Simulator”, ACM/IEEE SC|06, Tampa, USA, 2006. (Selected as one of the finalist papers of Gordon Bell Prize 2006).[CD-ROM]
  2. Bailey A.D., (2006). High-precision arithmetic in scientific computation. SC06 Technical Paper.
  3. 山田進, 佐々成正, 今村俊幸, 町田昌彦. 4倍精度基本線形代数ルーチンQPBLASの紹介とアプリケーションへの応用. 情報処理学会研究報告,Vol. 2012-HPC-137, No. 23, pp.1-6(2012).

サンプル

ライセンス

オープンソースとし、2条項BSDライセンスとします。


ダウンロード


開発者

システム計算科学センター
シミュレーション技術開発室
今村俊幸(現 理化学研究所)


連絡先

ccse-quad(at)ml.jaea.go.jp
※ (at) は @ に置き換えて下さい。