[論文レビュー] Communication-Optimal Parallel Algorithm for Strassen's Matrix Multiplication
本稿では、帯域幅およびレイテンシの理論的下界に一致する通信最適化を達成する、Strassen行列乗算のための新しい並列アルゴリズムであるCAPS(Communication-Optimal Parallel Strassen)を提示する。BFSに基づくStrassen再帰木の走査と特化されたデータレイアウトを用いることで、プロセッサ間通信を最小限に抑え、Cray XT4上でn=94080のとき、古典的手法および既存のStrassenベースの手法よりも24%から184%の高速化を達成した。
Parallel matrix multiplication is one of the most studied fundamental problems in distributed and high performance computing. We obtain a new parallel algorithm that is based on Strassen's fast matrix multiplication and minimizes communication. The algorithm outperforms all known parallel matrix multiplication algorithms, classical and Strassen-based, both asymptotically and in practice. A critical bottleneck in parallelizing Strassen's algorithm is the communication between the processors. Ballard, Demmel, Holtz, and Schwartz (SPAA'11) prove lower bounds on these communication costs, using expansion properties of the underlying computation graph. Our algorithm matches these lower bounds, and so is communication-optimal. It exhibits perfect strong scaling within the maximum possible range. Benchmarking our implementation on a Cray XT4, we obtain speedups over classical and Strassen-based algorithms ranging from 24% to 184% for a fixed matrix dimension n=94080, where the number of nodes ranges from 49 to 7203. Our parallelization approach generalizes to other fast matrix multiplication algorithms.
研究の動機と目的
- 計算量の低減にもかかわらず、長年にわたり性能向上が制限されてきた、並列化されたStrassenの高速行列乗算における通信ボトルネックを解消すること。
- 高速行列乗算アルゴリズムの実装と理論的通信下界の間のギャップを埋めること。
- 分散メモリシステムにおける帯域幅およびレイテンシコストの両方を最小限に抑える並列アルゴリズムを設計し、最適な通信複雑度を達成すること。
- Strassenを越える他の高速行列乗算アルゴリズムに対しても、このアプローチを一般化し、より広い範囲の手法に通信最適性を保証すること。
提案手法
- Strassenアルゴリズムの並列実行をBFSに基づいて行い、再帰木の各レベルに沿って計算を組織することで、細かい負荷分散を実現し、通信量を最小限に抑える。
- 行列をブロックに分割し、Pプロセッサ(Pは7のべき乗、Strassenではq=7)に均等に配布する再帰的データレイアウト戦略を採用する。
- ブロックサイクリック配布を用いて負荷分散を確保し、冗長な通信を最小限に抑え、計算グラフの拡張性の性質から導かれた通信下界と整合させる。
- 7つの乗算を用いる変更版Strassen-Winograd法を適用し、メモリアクセスパターンを最適化することで、プロセッサ間でのデータ移動を削減する。
- 双線形形式に基づく任意の高速行列乗算法にこのアプローチを一般化し、n₀×n₀行列を計算する際にq個の乗算を用いるものとして扱う。この場合、Pはqのべき乗である必要がある。
- 分散メモリモデルを用いて通信コストを分析し、帯域幅およびレイテンシの下界を導出し、アルゴリズムの性能がそれらと一致することを示す。
実験結果
リサーチクエスチョン
- RQ1帯域幅およびレイテンシの理論的通信下界に一致する並列Strassenベースの行列乗算アルゴリズムを設計できるか?
- RQ2プロセッサ数およびメモリサイズが並列高速行列乗算における通信コストに与える影響は何か? すべての設定でそれらを最小限に抑えることができるか?
- RQ3CAPSの通信コストは、プロセッサ数が変化する条件下で、既存の古典的およびStrassenベースの手法と比べて実際にはどの程度異なるか?
- RQ4CAPSで用いられた通信回避戦略を、異なる指数ω₀を持つ他の高速行列乗算法へ一般化できるか?
- RQ5通信最適化されたStrassenアルゴリズムの実用的性能限界は何か? また、それらはピークハードウェア性能にどの程度近いか?
主な発見
- CAPSは、Strassen行列乗算における帯域幅およびレイテンシの理論的下界に一致することで、通信最適性を達成しており、帯域幅コストはΩ((n/M¹ᐟ²)^ω₀ · M/P)、レイテンシコストはΩ((n/M¹ᐟ²)^ω₀ · 1/P)である。ここでω₀=log₂7である。
- Cray XT4上でn=94080のとき、プロセッサ数が49から7203の範囲で、CAPSは古典的およびStrassenベースの手法よりも24%から184%の高速化を達成した。
- 最大可能な範囲で、CAPSは完璧な強スケーリングを示しており、プロセッサ数が増加するにつれて効率的な負荷分散と最小限の通信オーバーヘッドが確認された。
- 多くの既存の並列Strassen実装が計算コストの低減を図るあまり通信コストが増加する傾向にあるのに対し、CAPSは最適な通信を維持しながら高い性能を達成している。
- Pがq(使用される乗算数)のべき乗である限り、同様の通信複雑度を維持するように、このアルゴリズムは他の高速行列乗算法へ一般化可能である。
- CAPSは帯域幅に関しては定数因子の範囲で通信下界に一致し、レイテンシに関してはlog P因子の範囲で一致するが、下界における正確な最適定数は未解決のままであり、任意のPに対して計算下界を正確に達成する方法についても未解決の問題のままである。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。