Skip to main content
QUICK REVIEW

[論文レビュー] Task-Based Algorithm for Matrix Multiplication: A Step Towards Block-Sparse Tensor Computing

Justus A. Calvin, Edward F. Valeev|arXiv (Cornell University)|Apr 20, 2015
Parallel Computing and Optimization Techniques参考文献 38被引用数 7
ひとこと要約

本論文は、不規則でブロックスパースなデータ構造を有する分散メモリシステムにおける効率的でスケーラブルな行列乗算を可能にする、スケーラブルなユニバーサル行列乗算アルゴリズム(SUMMA)のタスクベースの再定式化を提示する。細粒度のタスク並列処理とマルチイシュースケジューリングを用いることで、非一様な行列ブロッキングに起因する負荷の不均衡に耐えられ、最大262,144コアで75%の効率性を達成し、コンmodityおよびハイエンドHPCシステムの両方で優れた性能を示した。

ABSTRACT

Distributed-memory matrix multiplication (MM) is a key element of algorithms in many domains (machine learning, quantum physics). Conventional algorithms for dense MM rely on regular/uniform data decomposition to ensure load balance. These traits conflict with the irregular structure (block-sparse or rank-sparse within blocks) that is increasingly relevant for fast methods in quantum physics. To deal with such irregular data we present a new MM algorithm based on Scalable Universal Matrix Multiplication Algorithm (SUMMA). The novel features are: (1) multiple-issue scheduling of SUMMA iterations, and (2) fine-grained task-based formulation. The latter eliminates the need for explicit internodal synchronization; with multiple-iteration scheduling this allows load imbalance due to nonuniform matrix structure. For square MM with uniform and nonuniform block sizes (the latter simulates matrices with general irregular structure) we found excellent performance in weak and strong-scaling regimes, on commodity and high-end hardware.

研究の動機と目的

  • 量子物理学やテンソル計算で一般的な不規則でブロックスパースな構造を示す行列における分散メモリ行列乗算における負荷不均衡の課題に対処すること。
  • データの非均一性を損なわず、通信を回避し、レイテンシに耐性を持つ行列乗算アルゴリズムを開発すること。これは、密行列や均一にブロック化された行列に対しても性能を落とさないことを目的とする。
  • タスクベースの並列処理を用いて標準的な密行列乗算アルゴリズムを再定式化することで、不規則なテンソリアルデータ構造における効率的計算を可能にすること。
  • コンmodityクラスタおよびIBM BG/Qスーパーコンピュータを含む多様なハードウェア上で、強スケーリングおよび弱スケーリングの両性能を実証すること。

提案手法

  • 計算と同期の分離を図るため、細粒度のタスクベースプログラミングモデルを用いて標準的なSUMMAアルゴリズムを再定式化する。
  • 複数イシューのSUMMAイテレーションスケジューリングを実装し、ノード間での計算と通信のオーバーラップを可能にする。
  • タスクグラフを用いて行列乗算操作を表現することで、動的負荷分散と不規則なデータ分布への耐性を実現する。
  • タスクベースのフレームワーク内での計算プリミティブとして、既存の最適化済みBLASカーネル(例:DGEMM)を活用する。
  • 一般用途のテンソル計算をサポートするため、ユーザー定義型およびブロック構造をサポートするオープンソースのTiledArrayライブラリにアルゴリズムを統合する。
  • データの過剰分解を適用することで、ブロックサイズの大きな変動にもかかわらず、プロセスごとの負荷不均衡を低減する。

実験結果

リサーチクエスチョン

  • RQ1タスクベースのSUMMA再定式化は、非一様でブロックスパースな行列構造を効果的に処理しつつ、密行列においても高い性能を維持できるか?
  • RQ2タスクベース並列処理は、不規則なデータを有する分散メモリ行列乗算における負荷分散と通信隠蔽をどのように改善するか?
  • RQ3SUMMAイテレーションの複数イシュースケジューリングは、データの非均一性およびネットワークレイテンシに起因する性能低下をどの程度緩和できるか?
  • RQ4タスクベースSUMMA実装の強スケーリングおよび弱スケーリング特性は、ハイエンドおよびコンmodity HPCシステム上でどのように現れるか?
  • RQ5コア数や行列サイズの変動に応じて、アルゴリズムの効率性は単一ノードのピーク性能に対してどの程度の水準に保たれるか?

主な発見

  • タスクベースSUMMA実装は、Intel MKLを用いた単一ノード環境で理論ピーク性能の90.98%を達成し、高い計算効率を示した。
  • IBM BG/Qシステムでは、非一様なブロッキングが存在する状況でも、さまざまな行列サイズとコア数において75%を超える効率性を維持した。
  • 各コアが4個以下の行列ブロックを処理する強スケーリング限界では、タスク粒度の制約により効率性が最低50%まで低下した。
  • 非一様行列において最大ブロックサイズと最小ブロックサイズの比が最大1:7.12であったにもかかわらず、データの過剰分解によりプロセスごとの負荷不均衡は1:1.35まで低減された。
  • 262,144コア(2^18)まで効果的にスケーリングされ、均一および非均一なブロッキングパターンの両方において性能が安定した。
  • ハードウェアの非均一性およびネットワークレイテンシに対して頑健であり、ネットワークトポロジーやCPUクロックの変動に対して性能がそれほど敏感でなかった。

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

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

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

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