Skip to main content
QUICK REVIEW

[論文レビュー] A distributed-memory package for dense Hierarchically Semi-Separable matrix computations using randomization

François-Henry Rouet, Xiaoye Sherry Li|arXiv (Cornell University)|Mar 18, 2015
Matrix Theory and Algorithms参考文献 32被引用数 5
ひとこと要約

本稿では、ランダムサンプリングを用いたスケーラブルで分散メモリ対応のライブラリであるSTRUMPACKを提示する。このライブラリは、密度行列の階層的準分離(HSS)表現を用いて、非対角ブロックを適応的ランダムサンプリングで圧縮することで、大規模な線形方程式系の高速かつ高精度な解法と行列・ベクトル積を実現する。実世界の問題において、密行列ScaLAPACKと比較して最大6倍の高速化を達成し、8,000コアでの強スケーリングを実現した。

ABSTRACT

We present a distributed-memory library for computations with dense structured matrices. A matrix is considered structured if its off-diagonal blocks can be approximated by a rank-deficient matrix with low numerical rank. Here, we use Hierarchically Semi-Separable representations (HSS). Such matrices appear in many applications, e.g., finite element methods, boundary element methods, etc. Exploiting this structure allows for fast solution of linear systems and/or fast computation of matrix-vector products, which are the two main building blocks of matrix computations. The compression algorithm that we use, that computes the HSS form of an input dense matrix, relies on randomized sampling with a novel adaptive sampling mechanism. We discuss the parallelization of this algorithm and also present the parallelization of structured matrix-vector product, structured factorization and solution routines. The efficiency of the approach is demonstrated on large problems from different academic and industrial applications, on up to 8,000 cores. This work is part of a more global effort, the STRUMPACK (STRUctured Matrices PACKage) software package for computations with sparse and dense structured matrices. Hence, although useful on their own right, the routines also represent a step in the direction of a distributed-memory sparse solver.

研究の動機と目的

  • 高性能コンピューティング分野における、構造的行列計算のためのスケーラブルで汎用的な並列ソフトウェアの不足に対処すること。
  • 有限要素法や境界要素法に共通する、非対角ブロックが低ランクである密行列に対して、効率的でブラックボックス型の計算を可能にすること。
  • 任意のMPIプロセス数と非対称な階層的木構造をサポートする分散メモリ型HSS圧縮および因子分解パッケージの開発。
  • ランダムサンプリングと適応的サンプリングを統合し、事前のランクの知識がなくてもロバストで自動的なランク推定を可能にすること。
  • 最大8,000コアを用いて、大規模な学術的および産業的問題において高い性能と強スケーリングを実証すること。

提案手法

  • 非対角ブロックを低ランク構造で近似することで、密行列を階層的準分離(HSS)表現に圧縮する。
  • 行列ランクの事前知識がなくても、低ランク構造を推定できるように、適応的サンプリングを併用したランダムサンプリングを適用する。
  • 非一様な階層的分割と非対称HSS木構造をサポートするタスクからプロセスへのマッピングアルゴリズムを実装し、負荷分散を実現する。
  • MPIを用いて分散行列の配布、局所的サンプリング、HSS木の再帰的走査により、HSS圧縮を並列化する。
  • HSS構造を活用した並列HSS行列・ベクトル積およびULVに類似した因子分解を実装し、線形方程式系の解法を実現する。
  • 通信と計算にはBLASおよびScaLAPACKのプリミティブを活用し、木の走査における通信オーバーヘッドの低減を最適化の焦点とする。

実験結果

リサーチクエスチョン

  • RQ1適応的ランク推定を伴う分散メモリHSS圧縮に、ランダムサンプリングを効果的に適用できるか?
  • RQ2HSSベースのソルバの性能は、最大8,000コアで大規模問題に対してどのようにスケーリングするか?
  • RQ3従来の密行列ソルバと比較して、分散環境下でのHSS木の走査における通信と計算のオーバーヘッドはどの程度か?
  • RQ4ScaLAPACKおよびHsolverなどの従来のHSSコードと比較して、STRUMPACKの性能とスケーラビリティはどの程度か?
  • RQ5HSSフレームワークは、多様な応用分野においてブラックボックス型の前処理や直接解法としてどの程度活用可能か?

主な発見

  • STRUMPACKは、HSSランクが中程度の状況において、密行列ScaLAPACKキーネルと比較して最大6倍の高速化を達成した。
  • ライブラリは8,000MPIプロセスまで強スケーリングし、効率的な負荷分散と通信管理を実現した。
  • 境界要素法の問題から得られた130,000×130,000行列(最大ランク5,500)において、4,096コアで132.9秒の実行時間を達成した。
  • HSSランクが大きい場合には、HSS木の走査における通信オーバーヘッドが支配的となり、コア数が増加するに従いScaLAPACKとの性能差が縮小した。
  • 圧縮フェーズでは、50%の時間がインタポレーション分解(ID)の計算に費やされており、これは現在のBLAS2性能に制限されている。
  • 適応的サンプリング機構により、ブラックボックスの使いやすさが実現され、ユーザーが事前にランクを指定する必要がなくなり、実用性が向上した。

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

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

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

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