Skip to main content
QUICK REVIEW

[論文レビュー] Bidiagonalization with Parallel Tiled Algorithms

Mathieu Faverge, Julien Langou|arXiv (Cornell University)|Nov 18, 2016
Parallel Computing and Optimization Techniques参考文献 35被引用数 3
ひとこと要約

本稿では、マルチコアおよび分散システムにおけるSVD計算を高速化するために、階層的還元木(FlatTS、FlatTT、Greedy、Auto)を用いたタイリング化バイダイアゴナライゼーションアルゴリズム(BiDiagおよびR-BiDiag)を提案する。R-BiDiagにGreedy木を適用することで、特に高くてスリムな行列に対して、より優れたクリティカルパス長と性能を達成しており、Auto適応木により、多様なアーキテクチャとワークロードに最適なスケーラビリティを実現する自己調整が可能であることを示している。

ABSTRACT

We consider algorithms for going from a "full" matrix to a condensed "band bidiagonal" form using orthogonal transformations. We use the framework of "algorithms by tiles". Within this framework, we study: (i) the tiled bidiagonalization algorithm BiDiag, which is a tiled version of the standard scalar bidiagonalization algorithm; and (ii) the R-bidiagonalization algorithm R-BiDiag, which is a tiled version of the algorithm which consists in first performing the QR factorization of the initial matrix, then performing the band-bidiagonalization of the R-factor. For both bidiagonalization algorithms BiDiag and R-BiDiag, we use four main types of reduction trees, namely FlatTS, FlatTT, Greedy, and a newly introduced auto-adaptive tree, Auto. We provide a study of critical path lengths for these tiled algorithms, which shows that (i) R-BiDiag has a shorter critical path length than BiDiag for tall and skinny matrices, and (ii) Greedy based schemes are much better than earlier proposed variants with unbounded resources. We provide experiments on a single multicore node, and on a few multicore nodes of a parallel distributed shared-memory system, to show the superiority of the new algorithms on a variety of matrix sizes, matrix shapes and core counts.

研究の動機と目的

  • タイリングアルゴリズムを用いてバイダイアゴナライゼーション段階を最適化することで、大規模SVD計算における性能ボトルネックを解消すること。
  • 従来の共有メモリ専用タイリングバイダイアゴナライゼーションの限界を克服し、マルチコアクラスタ上で並列分散実行を可能にすること。
  • GreedyおよびAuto適応木を含む新しい還元木戦略の導入により、クリティカルパス長とスケーラビリティを向上させること。
  • 行列の形状とコア数に応じて、BiDiagとR-BiDiagのアルゴリズム的効率、通信オーバーヘッド、負荷バランスを評価・比較すること。
  • ハードウェア特性とワークロード特性に応じて動的に最適化を行う自己調整型Auto還元木を設計し、実用的な性能最大化を実現すること。

提案手法

  • 直接法(BiDiag)とQR分解を経由する方法(R-BiDiag:入力行列のQR分解後にRのバンドバイダイアゴナライゼーション)の2種類のタイリングバイダイアゴナライゼーションアルゴリズムを設計。
  • DPLASMAフレームワーク内に、PaRSECランタイムを用いたタスクベース並列処理を実装し、FlatTS、FlatTT、Greedy、Autoの4種類の還元木タイプを実装。
  • 共有メモリおよび分散メモリシステムにおけるデータ局所性の最適化と通信の削減を図るため、階層的QR(HQR)因子分解を用いて還元木を構造化。
  • 性能ヒューリスティクスに基づき、TS(タイルからスカラ)とTT(タイルからタイル)のカーネルの間で動的に切り替えるAuto適応木を導入し、通信を最小限に抑え、負荷をバランスさせる。
  • 不規則なワークロードや異なるカーネル速度(例:高速なTS対低速なTT)に対応するため、動的負荷バランスを有するタスクベーススケジューリングを適用。
  • 実際の行列サイズと形状を用いて、単一ノードおよびマルチノード共有メモリシステム上でアルゴリズムを実装・評価。

実験結果

リサーチクエスチョン

  • RQ1FlatTS、FlatTT、Greedy、Autoといった異なる還元木構造は、タイリングバイダイアゴナライゼーションのクリティカルパス長と性能にどのように影響を与えるか?
  • RQ2高くてスリムな行列に対して、R-BiDiagはBiDiagに比べて、クリティカルパス長とスケーラビリティの点でどの程度の性能向上を示すか?
  • RQ3自己適応還元木(Auto)は、多様な行列形状とハードウェア構成において、固定木戦略を上回る性能を発揮できるか?
  • RQ4Greedy木を用いた提案手法は、従来手法(例:FlatTS)と比較して、理論的クリティカルパス複雑度の点でどの程度優れているか?
  • RQ5新実装は、ScaLAPACK や Elemental などの既存SVDライブラリと比較して、分散マルチコアシステム上でどの程度スケーリングするか?

主な発見

  • R-BiDiagにGreedy木を適用した場合、p ≥ q のp×qタイル行列に対して、クリティカルパス長がΘ(q log₂p)に短縮され、FlatTSおよびFlatTTのΘ(pq)に比べ顕著に改善される。
  • 高くてスリムな行列(p = Ω(q¹⁺ᵅ), 0 ≤ α < 1)に対しては、R-BiDiagGreedyはBiDiagGreedyを1/(1 + α/2)の要因で上回り、α → 0に伴い比は1に近づく。
  • 実際の環境では、Auto適応木がすべての固定木バリアントを上回り、25ノード(600コア)まで強いスケーリングを維持する。一方、FlatTSは10ノードで並列性の限界に達し、飽和する。
  • 行列サイズが(80,000×2,000)および(100,000×10,000)の弱スケーリングテストにおいて、Autoは最大10 TFlop/sを達成し、ノードあたり400–475 GFlop/sを記録し、ScaLAPACKおよびElementalを上回る。
  • DPLASMAベースの実装においてR-BiDiagとAuto木を組み合わせることで、ScaLAPACKおよびElementalよりも優れたスケーラビリティを達成しており、特にHQRに基づくQRの効率的実装と、バイダイアゴナライゼーション段階の通信削減によるものである。
  • 本研究では、R-BiDiagが高行列に対してクリティカルパス長が短いだけでなく、自己調整タスクスケジューリングと組み合わせることで、分散環境全体での性能も顕著に向上することを確認した。

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

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

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

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