Skip to main content
QUICK REVIEW

[論文レビュー] Tiled Algorithms for Matrix Computations on Multicore Architectures

Henricus Bouwmeester|arXiv (Cornell University)|Mar 13, 2013
Parallel Computing and Optimization Techniques参考文献 42被引用数 6
ひとこと要約

この論文は、動的タスクスケジューリングとコンパイラ最適化を活用して、従来の LAPACK ライブラリよりも並列性とパフォーマンスを向上させる、マルチコアアーキテクチャにおける行列計算のタイル化アルゴリズムを導入する。コレスキー分解と QR 分解の最適スケジューリング戦略およびアルゴリズム的改善を提示し、クリティカルパス解析と整数計画法の定式化により、プロセッサ数が制限された環境下で近似的に最適なパフォーマンス境界を達成する。

ABSTRACT

The current computer architecture has moved towards the multi/many-core structure. However, the algorithms in the current sequential dense numerical linear algebra libraries (e.g. LAPACK) do not parallelize well on multi/many-core architectures. A new family of algorithms, the tile algorithms, has recently been introduced to circumvent this problem. Previous research has shown that it is possible to write efficient and scalable tile algorithms for performing a Cholesky factorization, a (pseudo) LU factorization, and a QR factorization. The goal of this thesis is to study tiled algorithms in a multi/many-core setting and to provide new algorithms which exploit the current architecture to improve performance relative to current state-of-the-art libraries while maintaining the stability and robustness of these libraries.

研究の動機と目的

  • 現代のマルチコアアーキテクチャにおける逐次 LAPACK アルゴリズムの並列化の低さを解決する。
  • 数値的安定性と頑健性を維持しながら、パフォーマンスを向上させるタイル化アルゴリズムを開発する。
  • プロセッサ数が制限された環境下でスケジューリングとアルゴリズム設計を最適化し、クリティカルパス長を最小化する。
  • 理論的パフォーマンス境界を確立し、最先端のライブラリと比較して実験的に検証する。
  • 動的タスクスケジューリングを高度なコンパイラ技術と統合し、タイルベースのカーネルにおける並列性を向上させる。

提案手法

  • 既存の LAPACK コードを最小限の変更で実行可能なタイルアルゴリズムに変換するため、動的タスクスケジューリングを用いる。
  • アレイリネーム、ループ反転、パイプライン処理などのコンパイラ最適化を適用し、タイルベースのカーネルにおける並列性を向上させる。
  • タイル化アルゴリズムを有向無閉路グラフ(DAG)でモデル化し、さまざまなスケジューリング戦略のクリティカルパス長を分析する。
  • QR 分解におけるリダクションツリーとスケジューリングを同時に最適化するため、整数計画法の定式化を用いる。
  • 両方の分解(コレスキーおよび QR)における時間解法の理論的下界を導出し、最適性を評価する。
  • 既存のアプローチ(Greedy や Fibonacci よりも優れた)クリティカルパス長を達成する新しい最適タイル化 QR アルゴリズムを提案する。

実験結果

リサーチクエスチョン

  • RQ1動的タスクスケジューリングを用いて、既存の LAPACK コードを効率的にタイル化アルゴリズムに変換する方法は何か?
  • RQ2タイル化行列逆行列計算および分解カーネルにおける並列性を最大化するために必要なコンパイラ技術は何か?
  • RQ3プロセッサ数が制限された条件下で、コレスキー分解におけるクリティカルパスを最小化するスケジューリング戦略は何か?
  • RQ4粗粒度のアルゴリズム(例:Greedy)の最適性はタイル化モデルに保存されるか。そうでない場合、新しい最適タイル化アルゴリズムをどのように構築できるか?
  • RQ5タイル化 QR 分解における時間解法の理論的下限は何か?実用的なスケジューリングはその下限にどれほど近いか?

主な発見

  • ループ反転は、タイルベースのコレスキー逆行列計算において顕著なパフォーマンス向上をもたらし、クリティカルパス長を短縮するとともに並列性を向上させる。
  • 制限されたプロセッサ数下でのコレスキー分解において、クリティカルパススケジュールはほぼ最適であり、時間解法の理論的下限が導出されている。
  • 提案されたタイル化 QR アルゴリズムは、すべてのテストされた行列サイズ($p \times q$ で $1 \leq p \leq 100$, $1 \leq q \leq p$)において、Greedy や Fibonacci アルゴリズムよりも短いクリティカルパス長を達成する。
  • タイル化文脈において最適であることが証明された新しいアルゴリズムは、粗粒度の Greedy に比べてクリティカルパス長で優れているが、Greedy の最適性がタイル化モデルにそのまま適用されないことを示している。
  • 整数計画法の定式化により、QR 分解におけるゼロ化と更新操作の間の先行順序制約を効果的にモデル化でき、アルゴリズムとスケジューリングの共同最適化が可能になった。
  • 実験結果から、パフォーマンスの上界が実際の実行時間と非常に近いことが示され、理論的パフォーマンス境界の妥当性が裏付けられた。

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

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

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

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