Skip to main content
QUICK REVIEW

[論文レビュー] The Eigenvalues Slicing Library (EVSL): Algorithms, Implementation, and Software

Ruipeng Li, Yuanzhe Xi|arXiv (Cornell University)|Feb 14, 2018
Matrix Theory and Algorithms参考文献 42被引用数 4
ひとこと要約

EVSL は、スペクトルスライcingと多項式・有理関数フィルタリングを組み合わせることで、大規模なスパース対称固有値問題を効率的に解くソフトウェアライブラリである。これにより、数千個の内部固有値の計算が可能となる。Krylov部分空間法と部分空間反復を活用し、行列フリー演算とスケーラブルな並列処理をサポートしており、電子構造計算における高次元問題に対して従来手法に比べ優れた性能を発揮する。

ABSTRACT

This paper describes a software package called EVSL (for EigenValues Slicing Library) for solving large sparse real symmetric standard and generalized eigenvalue problems. As its name indicates, the package exploits spectrum slicing, a strategy that consists of dividing the spectrum into a number of subintervals and extracting eigenpairs from each subinterval independently. In order to enable such a strategy, the methods implemented in EVSL rely on a quick calculation of the spectral density of a given matrix, or a matrix pair. What distinguishes EVSL from other currently available packages is that EVSL relies entirely on filtering techniques. Polynomial and rational filtering are both implemented and are coupled with Krylov subspace methods and the subspace iteration algorithm. On the implementation side, the package offers interfaces for various scenarios including matrix-free modes, whereby the user can supply his/her own functions to perform matrix-vector operations or to solve sparse linear systems. The paper describes the algorithms in EVSL, provides details on their implementations, and discusses performance issues for the various methods.

研究の動機と目的

  • 大規模な対称固有値問題において、数千個の内部固有値を計算する課題に対処すること。特に、電子構造計算における応用を想定する。
  • ARPACK や Anasazi のような既存ソフトウェアの限界を克服すること。これらはスペクトル端の少数の固有値に最適化されている。
  • 行列フリー演算と並列実行をサポートするスケーラブルで柔軟なソフトウェアライブラリの開発。高性能コンピューティング環境を想定。
  • 正規化と一般化固有値問題の効率的解法を、直交化コストを低減するフィルタリング技術によって実現すること。
  • 多項式および有理関数フィルタリングを併用できるモジュラーかつ拡張可能なフレームワークを提供し、多様な科学的ワークロードに対応すること。

提案手法

  • 固有値スペクトルを部分区間へ分割し、各々を独立してフィルタリング技術を用いて解くことで、スペクトルスライcingを実装する。
  • チェビシェフまたはチェビシェフに類似した反復法による多項式フィルタリングを用い、行列の分解を伴わずにスペクトル射影子を近似する。
  • 特定の部分区間をターゲットとする有理関数を構築することで、有理関数フィルタリングを適用する。これには、シフト行列 $A - \sigma_j B$ の分解が必要となる。
  • Lanczos法と部分空間反復を統合し、射影されたKrylov部分空間からリッツ対を抽出する。
  • ユーザーがカスタムの行列ベクトル積および線形方程式ソルバールーチンを提供する行列フリーモードをサポートし、暗黙的または大規模な作用素の利用を可能にする。
  • 分散メモリシステム向けにMPIベースの並列実装を開発し、有理関数フィルタリングにおいて直接ソルバを反復ソルバに置き換える計画を策定。

実験結果

リサーチクエスチョン

  • RQ1スペクトルスライcingを効果的にフィルタリング技術と組み合わせることで、大規模な内部固有値を効率的に計算する方法は何か?
  • RQ2CPU時間、メモリ使用量、スケーラビリティの観点から、多項式フィルタリングと有理関数フィルタリングの相対的な性能的トレードオフは何か?
  • RQ3大規模問題におけるメモリオーバーヘッドを低減するために、有理関数フィルタリングに行列フリー演算と反復線形ソルバを効果的に適用できるか?
  • RQ4一般化固有値問題における質量行列 $B$ の条件数に応じて、フィルタリングタイプ(多項式対有理関数)の選択はどのように変化するか?
  • RQ5分散メモリ環境における有理関数フィルタリングアルゴリズムのスケーリングに際しての主な実装上の課題は何か?

主な発見

  • 2次元問題では、$A - \sigma_j B$ の分解コストが低いため、Lanczos法を用いた有理関数フィルタリングが多項式フィルタリングよりも効率的である。
  • 大規模な3次元問題では、$A - \sigma_j B$ の分解コストが高いため、多項式フィルタリングが有理関数フィルタリングよりも効率的である。
  • 有理関数フィルタリングのメモリ使用量は、多項式フィルタリングに比べて顕著に高い。これは、シフト行列の分解を保持する必要があるためである。
  • チェビシェフ多項式反復により、$B$ を含む方程式系を分解なしで効率的に解くことが可能となり、$B$ が良好に条件付けられている場合には多項式フィルタリングが実用的である。
  • 有理関数フィルタリングの性能は、$A - \sigma_j B$ の分解の安価さに依存する。もし分解が高価すぎる場合は、多項式フィルタリングが依然として実行可能な代替手段となる。
  • 今後の作業では、特に並列環境においてメモリ使用量を削減するため、有理関数フィルタリングにおける直接ソルバを反復ソルバに置き換えることを目指す。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。