Skip to main content
QUICK REVIEW

[論文レビュー] Dense Linear Algebra over Finite Fields: the FFLAS and FFPACK packages

Jean‐Guillaume Dumas, Pascal Giorgi|arXiv (Cornell University)|Jan 31, 2006
Polynomial and algebraic computation参考文献 34被引用数 7
ひとこと要約

この論文では、ワードサイズの素数体上の密行列線形代数のための高性能C++ライブラリF F L A S と F F P A C K を提示する。数値BLASレベルの効率を達成するために、最適化された数値カーネルと記号的行列乗算アルゴリズムを活用している。主な貢献は、正確な線形代数を、適切な算術管理とWinograd法などの高速アルゴリズムのハイブリッド利用により、数値BLASと同等の性能にまで引き上げられることの実証である。これにより、実用的な高速化を伴う最適な漸近的複雑度が達成される。

ABSTRACT

In the past two decades, some major efforts have been made to reduce exact (e.g. integer, rational, polynomial) linear algebra problems to matrix multiplication in order to provide algorithms with optimal asymptotic complexity. To provide efficient implementations of such algorithms one need to be careful with the underlying arithmetic. It is well known that modular techniques such as the Chinese remainder algorithm or the p-adic lifting allow very good practical performance, especially when word size arithmetic are used. Therefore, finite field arithmetic becomes an important core for efficient exact linear algebra libraries. In this paper, we study high performance implementations of basic linear algebra routines over word size prime fields: specially the matrix multiplication; our goal being to provide an exact alternate to the numerical BLAS library. We show that this is made possible by a carefull combination of numerical computations and asymptotically faster algorithms. Our kernel has several symbolic linear algebra applications enabled by diverse matrix multiplication reductions: symbolic triangularization, system solving, determinant and matrix inverse implementations are thus studied.

研究の動機と目的

  • ワードサイズの素数体上の高性能な正確な線形代数ライブラリを開発し、数値BLASの効率性に匹敵すること。
  • 高速行列乗算への問題の還元により、正確な線形代数における最適な漸近的複雑度を実現すること。
  • ハードウェア最適化された数値カーネルを用いて、記号的計算と数値計算を統合すること。
  • 密行列線形代数のための実用的でポータブルかつ自動チューニング可能な実装を提供すること、対象はワードサイズの素数体である。

提案手法

  • 数値BLASライブラリ(例:ATLAS)を、有限体算術の低レベルカーネルとして使用し、変換のオーバーヘッドを最小限に抑える。
  • Winogradの記号的行列乗算アルゴリズムを採用し、再帰的ブロック分割と奇数次元のための動的ピーリングを適用する。
  • 中間計算中のオーバーフローを最小限に抑え、精度を維持するために遅延還元技術を採用する。
  • データ局所性を最大化しメモリアクセスを削減するために、Winogradのアルゴリズムのためのカスケード構造とスケジューリングを設計する。
  • 環準同型とモジュラー算術を用いて、数値プリミティブを介して正確な計算を実行する。
  • 決定的行列、逆行列、因数分解のための記号的ルーチンに高速アルゴリズム(例:Strassen型)を統合する。

実験結果

リサーチクエスチョン

  • RQ1ワードサイズの素数体を用いた有限体上の正確な線形代数は、数値BLASと同等の性能を達成できるか?
  • RQ2記号的行列乗算は、どのように最適化すれば数値行列乗算と同等の速度に達成できるか?
  • RQ3有限体上の記号的行列乗算において、中間オーバーフローを管理する最適な戦略は何か?
  • RQ4正確な算術に適用するにあたり、数値BLASカーネルをどれだけ再利用できるか、正しさや性能に損なわれることなく?
  • RQ5Winograd法のような高速アルゴリズムは、有限体上の正確な線形代数に実用的に適用した場合、どの程度の性能を示すか?

主な発見

  • ワードサイズの素数体上での記号的行列乗算は、数値BLASと同等の性能を達成でき、一部のケースでは測定された高速化が1.5倍に近い。
  • F F L A S と F F P A C K ライブラリは、最適化された数値カーネルと適切な算術管理により、正確な線形代数が数値線形代数と同等の速度に達成できることを実証した。
  • 動的ピーリングと遅延還元を適切にチューニングしたWinogradのアルゴリズムは、最適な中間値の境界を達成し、オーバーフローを防止する。
  • 実装は、行列式、行列逆行列、ムーア・ペンローズ擬似逆行列を含む、記号的線形代数の全範囲の操作をサポートしており、数値ルーチンとほぼ同等の性能を示す。
  • 中間値の理論的境界が最適であることが証明され、最悪ケース境界に達する行列の系列が構成され、解析のタイトネスが確認された。
  • 整数算術のパフォーマンスペナルティを回避するために、高度に最適化された数値カーネルを再利用し、現代のアーキテクチャ上では純粋な整数算術に比べ2〜4倍の高速化を達成した。

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

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

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

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