高精度固有値計算ライブラリ:QPEigen_K
QPEigen_K 1.0
QPEigen_Kがリリースされました。
ダウンロード
ルーチン名 |
ソースコード |
---|---|
QPEigen_s |
|
QPEigen_sx |
|
QPEigen_h |
サンプル(左枠内のリンクはマニュアルの説明箇所になります) |
|
---|---|
ライセンス
オープンソースとし、2条項BSDライセンスとします。
プログラム開発の目的及び概要
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).
開発者
システム計算科学センター・シミュレーション技術開発室 山田進、佐々成正、町田昌彦
理化学研究所・計算科学研究センター・大規模並列数値計算技術研究チーム 今村俊幸
連絡先
ccse-quad(at)ml.jaea.go.jp
※ (at) は @ に置き換えて下さい。