Skip to main content
QUICK REVIEW

[論文レビュー] Modeling and analyzing performance for highly optimized propagation steps of the lattice Boltzmann method on sparse lattices

Markus Wittmann, Thomas Zeiser|arXiv (Cornell University)|Oct 1, 2014
Lattice Boltzmann Simulation Studies参考文献 12被引用数 7
ひとこと要約

本稿では、スパース格子上の格子ボルツマン法(LBM)ソルバに対して、2段階の最適化戦略を提案する。まず、ループバランスを低下させるために、間接アドレッシングを低減する手法(RIA)を採用し、次に、通信オーバーヘッドを最小限に抑えるためにハイブリッド列挙法(ヒルベルト曲線に続く辞書式ソート)を採用することで、シングルコア性能を維持する。この手法により、性能を損なわずに周波数を低く抑え、コア数を削減できるため、最大40%のエネルギー効率向上を達成した。

ABSTRACT

Computational fluid dynamics (CFD) requires a vast amount of compute cycles on contemporary large-scale parallel computers. Hence, performance optimization is a pivotal activity in this field of computational science. Not only does it reduce the time to solution, but it also allows to minimize the energy consumption. In this work we study performance optimizations for an MPI-parallel lattice Boltzmann-based flow solver that uses a sparse lattice representation with indirect addressing. First we describe how this indirect addressing can be minimized in order to increase the single-core and chip-level performance. Second, the communication overhead is reduced via appropriate partitioning, but maintaining the single core performance improvements. Both optimizations allow to run the solver at an operating point with minimal energy consumption.

研究の動機と目的

  • スパース格子表現を用いたLBMソルバにおいて、メモリ帯域幅の圧力を軽減し、ループバランスを改善すること。
  • 特に複雑な幾何形状においても、RIAによる間接アドレッシングの最小化により、シングルコア性能を向上させること。
  • 大規模MPI並列シミュレーションにおいて、シングルコア効率を損なわず、通信オーバーヘッドを低減すること。
  • 幾何形状依存のパラメータチューニングの必要性を排除するため、自動化され、幾何形状に依存しない2段階の列挙法を導入すること。
  • 性能を維持しつつ、周波数を低く抑え、コア数を削減できるようにすることで、最小限のエネルギー消費を達成すること。

提案手法

  • 連続する流体ノードが連続するランを形成する場合に、間接メモリアクセスをスキップするため、Reduced Indirect Addressing(RIA)を適用し、ループバランスを低減する。
  • ランレングスエンコーディングの原則を用いて、隣接リスト内の連続するノード列を特定・最適化する。
  • 2段階の列挙法を実装する:まず空間を埋める曲線(例:ヒルベルト)を用いてコンactなパーティショニングを行い、次に辞書式ソート(B=1)で再番号付けすることで、高いシングルコア性能を達成する。
  • RIAを介してAAパターンアルゴリズムにおける部分的ベクトル化を可能にし、特に奇数ステップで命令レベル並列性を向上させる。
  • Intel HaswellおよびSuperMUC-2クラスタ上で、プロセス数や周波数を変化させた状況で、性能およびエネルギー効率を評価する。
  • RIAおよび二重列挙法の統合・ベンチマークのために、ILBDCをベースソルバフレームワークとして使用する。

実験結果

リサーチクエスチョン

  • RQ1RIAは、スパース格子上のLBM伝搬ステップにおいて、ループバランスを低減し、性能を向上させることができるか?
  • RQ2RIAはAAパターンにおける部分的ベクトル化をどのように可能にし、その性能にどのような影響を与えるか?
  • RQ32段階の列挙法(ヒルベルト + 辞書式ソート)は、手動によるチューニングなしに、通信量を低く抑えつつ、高いシングルコア性能を達成できるか?
  • RQ4最適化された列挙法とRIAを組み合わせ、周波数を低く(例:1.2 GHz)にした場合、エネルギー効率にどの程度の向上が得られるか?
  • RQ5パフォーマンスに影響を与えることなく、ノードあたりのアクティブコア数をどの程度まで削減できるか?また、エネルギー消費にどのような影響を与えるか?

主な発見

  • RIAにより、ループバランスが低減され、非一時的ストアを用いた2グリッド1ステップアルゴリズムで15%のパフォーマンス向上が達成された。
  • RIAを用いたAAパターンにより、奇数ステップの部分的ベクトル化が可能となり、特に構造的幾何形状において1.2 GHzで最大30%のパフォーマンス向上が得られた。
  • 2段階の列挙法(ヒルベルト→辞書式ソート)は、B=100で手動チューニングされた辞書式ソートと同等のパフォーマンスを達成し、幾何形状依存のパrameterチューニングの必要性を排除した。
  • ヒルベルト再番号付けと1.2 GHzでの動作を組み合わせることで、パフォーマンス劣化なしに最大40%のエネルギー効率向上を達成した。
  • ノードあたりのプロセス数を28から16に削減してもパフォーマンスに影響がなく、実際には3〜4コアでパフォーマンスが飽和していることが確認された。これにより、さらなるエネルギー効率向上が可能となった。
  • この手法のパフォーマンスは、さまざまな周波数で安定しており、スケーリングも効率的である。特に、より単純で規則的な幾何形状では、より高いベクトル化ゲインによりエネルギー効率が向上する。

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

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

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

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