[論文レビュー] Sparse Tensor Algebra as a Parallel Programming Model
本論文は、スパースデータ構造と任意の要素関数をサポートする高水準な並列プログラミングモデルとして、スパーステンソル代数を提案する。CTF(Cyclops Tensor Framework)にスパースレイアウトとカスタマイズ可能な演算を拡張することで、反復的ソルバー、グラフアルゴリズム、電子構造計算において、効率的で通信を回避する実行が可能となり、MP3電子構造計算では最大6倍の高速化を達成し、スパarsityに配慮したランタイム最適化により弱スケーラビリティが向上した。
Dense and sparse tensors allow the representation of most bulk data structures in computational science applications. We show that sparse tensor algebra can also be used to express many of the transformations on these datasets, especially those which are parallelizable. Tensor computations are a natural generalization of matrix and graph computations. We extend the usual basic operations of tensor summation and contraction to arbitrary functions, and further operations such as reductions and mapping. The expression of these transformations in a high-level sparse linear algebra domain specific language allows our framework to understand their properties at runtime to select the preferred communication-avoiding algorithm. To demonstrate the efficacy of our approach, we show how key graph algorithms as well as common numerical kernels can be succinctly expressed using our interface and provide performance results of a general library implementation.
研究の動機と目的
- 高性エネルギー計算を含む、配列、行列、グラフ計算を統一したスパーステンソル代数抽象化により、高性能コンピューティングを実現すること。
- テンソルの性質とデータレイアウトに基づいて、ランタイムで通信を回避するアルゴリズムを自動選択可能にする。
- CTFフレームワークに、任意の要素型とユーザー定義関数をサポートするスパーステンソルを拡張すること。
- スパarsityが、主な科学的ワークロードにおけるパフォーマンスと弱スケーラビリティを顕著に向上させられることを示すこと。
- 明示的なループを回避し、並列コードにおけるプログラミングエラーを低減する、最小限でありながら強力なインターフェースを提供すること。
提案手法
- 和集合、縮約、マッピング、および縮約演算を、任意の関数と代数的構造へと拡張し、柔軟なデータ変換を可能にする。
- データレイアウトを抽象化し、分散メモリ上で自動並列化を可能にする高水準なC++ドメイン固有言語(DSL)を導入する。
- 循環的CTFレイアウトを活用して非ゼロ要素の分布をランダム化し、高価なグラフ分割を回避しつつ、ランダムおよび任意のスパースネスパターンにおいてほぼ最適なパフォーマンスを維持する。
- ランタイム解析を用いて、スパースネスとデータ構造の特性に基づき、最適な通信を回避するアルゴリズムを選択する。
- スパース-スパース、スパース-デュース、デュース-デュースの縮約をサポートし、MKLとの統合および整数型用カスタムカーネルを介してパフォーマンスを最適化する。
- バッチ同期並列(BSP)実行を採用し、低深さで高並列性を持つプログラムを保証し、複雑な依存関係を回避する。
実験結果
リサーチクエスチョン
- RQ1スパーステンソル代数は、グラフやPDEソルバーを含む多様な科学的ワークロードに対して、統一的で高水準なプログラミングモデルとして機能できるか?
- RQ2分散メモリシステムにおけるテンソル演算におけるスパースネスが、通信コストと計算コストに与える影響は何か?
- RQ3自動アルゴリズム選択機能を備えた高水準DSLは、手動最適化されたカーネルと比較して、パフォーマンスとスケーラビリティをどの程度向上できるか?
- RQ4ユーザー定義関数と任意のデータ型を、パフォーマンスを損なわずにスパーステンソルフレームワークで効率的にサポートできるか?
- RQ5スパースネスの使用が、実世界の科学的応用における弱スケーリングおよび強スケーリングに与える影響は何か?
主な発見
- スパーステンソル代数モデルは、デュース実行と比較してMP3電子構造計算で最大6倍の高速化を達成し、並列度が高くなるほどパフォーマンス向上が顕著になった。
- スパースネスにより弱スケーリングが顕著に向上し、特にパス倍増ベースの全ペア最短経路計算では、通信および計算コストの削減によりスパースカーネルがデュースカーネルを上回った。
- 384コアで実行した際、スパースパス倍増カーネルはローカルカーネルに71.4%の時間を費やした(デュースでは86.6%)ことから、負荷バランスが良く、通信オーバーヘッドが低減していることが示された。
- デュースグラフAPSPベンチマークでは、弱スケーリング下で384コアでスパースカーネルがローカルカーネルに87.8%および90.8%の時間を費やし、デュース代替案よりも優れたスケーラビリティを示した。
- 非ゼロ要素の割合に比例して計算コストと通信コストが削減され、最小限のチューニングでもパフォーマンス向上が観察された。
- ランタイムでの通信を回避するアルゴリズムの自動選択機能により、手動での分割やレイアウト最適化を必要とせず、効率的な実行が可能になった。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。