Skip to main content
QUICK REVIEW

[論文レビュー] From Piz Daint to the Stars: Simulation of Stellar Mergers using High-Level Abstractions

Gregor Daiß, Parsa Amini|Civil War Book Review|Aug 8, 2019
Parallel Computing and Optimization Techniques参考文献 52被引用数 12
ひとこと要約

本論文は、適応メッシュ細分化を備えたハイパフォーマンス流体力学コードOcto-Tigerを提示する。このコードは、HPXおよびVcといった高レベルの抽象化を用いて星の合体をシミュレートする。Piz Daintで2048ノードで68.1%の並列効率を達成し、MPIをlibfabricに置き換えることで最大2.8倍のスルーブレット向上を達成した。また、HPXアプリケーションとして初めてフルシステムGPUアクセラレーションを実現し、異種HPCシステムにおけるノードレベルのパフォーマンスとスケーラビリティを顕著に向上させた。

ABSTRACT

We study the simulation of stellar mergers, which requires complex simulations with high computational demands. We have developed Octo-Tiger, a finite volume grid-based hydrodynamics simulation code with Adaptive Mesh Refinement which is unique in conserving both linear and angular momentum to machine precision. To face the challenge of increasingly complex, diverse, and heterogeneous HPC systems, Octo-Tiger relies on high-level programming abstractions. We use HPX with its futurization capabilities to ensure scalability both between nodes and within, and present first results replacing MPI with libfabric achieving up to a 2.8x speedup. We extend Octo-Tiger to heterogeneous GPU-accelerated supercomputers, demonstrating node-level performance and portability. We show scalability up to full system runs on Piz Daint. For the scenario's maximum resolution, the compute-critical parts (hydrodynamics and gravity) achieve 68.1% parallel efficiency at 2048 nodes.

研究の動機と目的

  • 現代のHPCシステム上で、高精度かつ高スケーラビリティを備えた星の合体、特にV1309 Scorpiiの明るい赤色新星イベントをシミュレートすること。
  • GPUやマルチコアプロセッサを含む、ますます異種的で複雑化するHPCアーキテクチャへの、複雑な天体物理学的シミュレーションの移植課題に対処すること。
  • 大規模シミュレーションにおける低オーバーヘッドでワンサイド通信を可能にするRMA操作を活用し、MPIをlibfabricに置き換えることでパフォーマンスとスケーラビリティを向上させること。
  • NVIDIA V100 GPU、Intel Xeon、KNLプロセッサを含む多様なHPCプラットフォームで、ノードレベルのパフォーマンスの移植可能性と高い効率を実現すること。
  • Piz DaintのようなGPUアクセラレーテッドスーパーコンピュータ上で、HPXベースのアプリケーションのフルシステム実行を初めて実証すること。

提案手法

  • Octo-Tigerは、有限体積法離散化と適応メッシュ細分化を用いて、流体力学および重力方程式を解き、線形運動量と角運動量を機械精度まで保存する。
  • コードは、非同期多数タスクランタイムとfuturizationを活用したHPXを採用し、ノード間およびノード内でのロックフリーで低オーバーヘッドのタスクスケジューリングを実現する。
  • libfabricはHPXの新しい通信バックエンドとして統合され、MPIに置き換えることで、ワンサイドRMA操作による通信オーバーヘッドを低減する。
  • GPUアクセラレーションは、CUDAストリームとHPXのタスクベーススケジューリングを用いて、計算集約的なFMMカーネルをNVIDIA GPUにマッピングすることで達成され、1GPUあたり最大128個のカーネルを実行可能となる。
  • Vcライブラリを用いたポータブルなベクトル化により、XeonおよびKNLを含む多様なCPUプラットフォームで効率的なSIMD並列処理を保証する。
  • 計算ノードを計算用とネットワークポーリング用の専用スレッドプールに分割することで、異種実行をサポートし、競合を低減する。

実験結果

リサーチクエスチョン

  • RQ1HPXやVcといった高レベルの抽象化は、多様なHPCアーキテクチャにわたる星の合体シミュレーションの移植可能性、スケーラビリティ、ハイパフォーマンスを実現できるか?
  • RQ2MPIをlibfabricに置き換えることで、大規模天体物理学的シミュレーションにおける通信効率と強スケーリングにどのような影響を与えるか?
  • RQ3GPUアクセラレーションは、流体力学および重力ソルバーにおける高速多重極展開法(FMM)の重要なカーネルのノードレベルパフォーマンスをどの程度向上できるか?
  • RQ4Piz DaintのようなGPUアクセラレーテッドスーパーコンピュータ上で、Octo-Tigerのスケールにおける達成可能な並列効率はどの程度か?
  • RQ5非同期タスクベースランタイムモデル(例:HPX)の統合は、現代の異種システムにおけるプロダクションスケールのシミュレーションを可能にするか?

主な発見

  • Octo-Tigerは、Piz DaintでV1309 Scorpii合体のフルシステムシミュレーションにおいて、2048ノードで68.1%の並列効率を達成し、強いスケーリングを示した。
  • MPIをlibfabricに置き換えることで、ワンサイドRMA操作による通信オーバーヘッド低減により、2.8倍のスルーブレット向上を達成した。
  • FMMカーネルは2つのNVIDIA V100 GPUでピーク性能の最大37%を達成し、顕著にノードレベルパフォーマンスが向上した。
  • Intel Xeon Phi(Knights Landing)システムではピーク性能の17%を達成し、アーキテクチャ間での効果的な移植性を示した。
  • これは、HPXベースのアプリケーションが、Piz DaintのようなフルGPUアクセラレーテッドスーパーコンピュータ上で大規模に成功裏に実行された初の事例である。Piz Daintの5704ノード中5400ノードが使用された。
  • libfabricとGPUアクセラレーションの統合により、通信タスクを専用スレッドプールに隔離することで、効率的なネットワークポーリングが可能となり、競合が低減され、スケールでのパフォーマンスが回復した。

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

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

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

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