Skip to main content
QUICK REVIEW

[論文レビュー] The MOMMS Family of Matrix Multiplication Algorithms

Tyler Smith, Robert A. Geijn|arXiv (Cornell University)|Apr 11, 2019
Parallel Computing and Optimization Techniques参考文献 22被引用数 8
ひとこと要約

この論文は、徐々にメモリ帯域幅制限が深刻になるアーキテクチャにおいて、Gotoのアルゴリズムを上回る性能を発揮するように最適化された、キャッシュを考慮した新しい行列乗算アルゴリズム族であるMOMMSを紹介する。L3を含む複数のキャッシュレベルにおけるデータアクセスパターンの戦略的再編成により、MOMMSアルゴリズムはI/Oコストを低減し、低帯域幅システムにおける性能を向上させる。実験的結果では、メモリ制限下の状況でGotoのアルゴリズムに比べて最大2倍の性能向上が確認された。

ABSTRACT

As the ratio between the rate of computation and rate with which data can be retrieved from various layers of memory continues to deteriorate, a question arises: Will the current best algorithms for computing matrix-matrix multiplication on future CPUs continue to be (near) optimal? This paper provides compelling analytical and empirical evidence that the answer is "no". The analytical results guide us to a new family of algorithms of which the current state-of-the-art "Goto's algorithm" is but one member. The empirical results, on architectures that were custom built to reduce the amount of bandwidth to main memory, show that under different circumstances, different and particular members of the family become more superior. Thus, this family will likely start playing a prominent role going forward.

研究の動機と目的

  • 現代のCPUにおける計算速度とメモリ帯域幅の間の性能ギャップが拡大する状況に対処すること。
  • メモリ制限下の条件下で、Gotoのアルゴリズムのような既存の最先端手法を上回る新しい行列乗算アルゴリズム族を開発すること。
  • 階層的メモリシステムにおける複数のキャッシュレベル(L1、L2、L3)間でのデータ移動のトレードオフを分析・最適化すること。
  • 異なるMOMMSバリアントが、行列の形状やメモリ帯域幅に応じてGotoのアルゴリズムを上回ることを実験的に検証すること。
  • マルチレベルキャッシュ環境におけるI/O最適化アルゴリズムを可能にする基盤を提供し、将来の高性能線形代数ライブラリの構築を支援すること。

提案手法

  • Gotoのアルゴリズムの一般化としてMOMMS族を提案し、L1、L2、L3キャッシュにおける複数段階のループタイリングとデータブロッキングを統合する。
  • アルゴリズム設計をガイドする理論的I/O下限モデル(2mnk/√M)を用い、データ移動の近似的最適性を保証する。
  • L1、L2、L3キャッシュに最適化された3つの主要なMOMMSバリアント(A3B2C0、B3A2C0、C3A2C0)を設計し、それぞれ異なる行列次元領域を想定して計算を最も効果的なキャッシュレベルに一致させる。
  • 階層的行列格納方式を採用し、データパッケージングを回避することでメモリフットプリントとTLB負荷を低減する。
  • 各キャッシュレベルで2重ループ構造を採用し、データ再利用を最大化し、不要なメモリ転送を最小限に抑える。
  • 調整可能なメモリ帯域幅を持つ独自のハードウェア上で性能を検証し、アルゴリズム性能に与えるメモリI/Oの影響を明確に分離する。

実験結果

リサーチクエスチョン

  • RQ1Gotoのアルゴリズムが、メモリ帯域幅対計算能力比の悪化に起因して非最適化状態に陥るのはどのような条件下か?
  • RQ2行列乗算アルゴリズムをどのように再構築すれば、L1、L2、L3キャッシュを同時に最適に活用できるか?
  • RQ3A3B2C0、B3A2C0、C3A2C0のうち、どのMOMMSバリアントが異なる行列形状やキャッシュ構成において最適な性能を発揮するか?
  • RQ4I/O最適化アルゴリズムは、行列乗算におけるエネルギー消費をどの程度低減できるか?
  • RQ5MOMMSフレームワークは、オフラインコア計算やその他の密行列線形代数演算へと拡張可能か?

主な発見

  • 低帯域幅の独自アーキテクチャ上では、MOMMSのC3A2C0バリアントがGotoのアルゴリズムに比べて最大2倍のGFLOPS性能を達成し、顕著なI/Oコスト削減を実証した。
  • L3キャッシュサイズ(約√M³)と一致する行列次元が大きい場合、対応するMOMMSバリアント(例:m ≈ n ≈ √M³ に対してC3A2C0)がピーク性能に到達した。
  • 特定の行列形状に対して非最適であっても、MOMMSアルゴリズムは最適アルゴリズムと比較してI/Oコストが50%しか増加しなかったが、Gotoのアルゴリズムは約2倍のI/Oコスト増加を示した。
  • メモリ制限下の条件下で問題サイズが増加するにつれ、GotoのアルゴリズムとMOMMSバリアントの性能ギャップは拡大した。
  • MOMMS族は、2つの次元が少なくとも√M³であり、第3の次元が大きい場合に、多様な行列形状に対して高い性能を維持しており、その頑健性を示している。
  • 結果から、将来の線形代数ライブラリはMOMMS風のアルゴリズムを採用することで、メモリ制限による性能ボトルネックの発生を遅らせられる可能性がある。

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

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

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

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