Skip to main content
QUICK REVIEW

[論文レビュー] Distributed, combined CPU and GPU profiling within HPX using APEX

Patrick Diehl, Gregor Daiß|arXiv (Cornell University)|Sep 21, 2022
Parallel Computing and Optimization Techniques被引用数 4
ひとこと要約

本論文は、HPXランタイム内でのAPEXを用いたスケーラブルで分散型のCPU-GPUプロファイリングフレームワークを提示し、Piz DaintおよびSummitの2つのスーパーコンputingアーキテクチャにおいて、Octo-Tiger天体物理学シミュレーションのパフォーマンスボトルネックを分析する。APEXが低オーバーヘッドで大規模なプロファイリングを可能にし、明確なパフォーマンスインサイトを提供することを示しており、特にGPUカーネル実行とノード間通信におけるアーキテクチャの差異や最適化の余地を特定した。

ABSTRACT

Benchmarking and comparing performance of a scientific simulation across hardware platforms is a complex task. When the simulation in question is constructed with an asynchronous, many-task (AMT) runtime offloading work to GPUs, the task becomes even more complex. In this paper, we discuss the use of a uniquely suited performance measurement library, APEX, to capture the performance behavior of a simulation built on HPX, a highly scalable, distributed AMT runtime. We examine the performance of the astrophysics simulation carried-out by Octo-Tiger on two different supercomputing architectures. We analyze the results of scaling and measurement overheads. In addition, we look in-depth at two similarly configured executions on the two systems to study how architectural differences affect performance and identify opportunities for optimization. As one such opportunity, we optimize the communication for the hydro solver and investigated its performance impact.

研究の動機と目的

  • HPXベースの科学的アプリケーションにおけるCPUおよびGPUワークロードの大規模で分散型のプロファイリングを可能にすること。
  • 本番環境スケールのシミュレーションにおける実際のCPU-GPUプロファイリングの実現可能性とオーバーヘッドを評価すること。
  • 異なるHPCアーキテクチャ(Piz DaintおよびSummit)におけるOcto-Tigerのパフォーマンスボトルネックを特定すること。
  • プロファイリングのインサイトに基づき、ハイドロソルバの通信を最適化し、そのパフォーマンスへの影響を測定すること。
  • GPU測定を含む2000ノードまでスケーラブルなAPEXプロファイリングのスケーラビリティと正確性を評価すること。

提案手法

  • APEXをHPXに統合し、CPUおよびGPUワークロードの両方を含む分散ノード全体でのパフォーマンスメトリクスを収集すること。
  • GPUプロファイリングにはCUPTIを、CPUメトリクスにはHPXのパフォーマンスカウンタを使用し、計算ノード全体にわたるデータ集計を実施すること。
  • Piz Daintでは48ノード(各ノードに48GPU)で40ステップ分のフル本番環境シナリオ実行を実施。Summitでは8ノード(同様に各ノードに48GPU)で実行した。
  • GPU測定の影響を分離するために、CPUオンリーモードとCPU-GPUモードの両方でのプロファイリングオーバーヘッドを比較した。
  • アーキテクチャごとの実行時間挙動の分析を実施し、カーネル実行時間、通信オーバーヘッド、タスクスケジューリングの違いを評価した。
  • APEXで特定されたボトルネックに基づき、ハイドロソルバの通信パターンを最適化した後、再プロファイリングにより改善度を測定した。

実験結果

リサーチクエスチョン

  • RQ1現代のHPCシステムにおける大規模で分散型のCPU-GPUプロファイリングにおいて、APEXのプロファイリングオーバーヘッドはどのように振る舞うか?
  • RQ2Piz Daint(Intel Xeon + P100)とSummit(Power9 + V100)アーキテクチャ間で、Octo-Tigerの実行に顕著なパフォーマンス差異は存在するか?
  • RQ3Octo-Tigerのどのコンponentsが最も高いパフォーマンスオーバーヘッドを示しており、それらはプロファイリングデータに基づいて最適化可能か?
  • RQ4P100からV100GPUへの移行は、平均GPUカーネル実行時間にどのように影響を与え、観察されたスループット向上の要因は何か?
  • RQ5特にスケールが大きい場合に、CUPTIによるGPUプロファイリングが著しくオーバーヘッドを増加させるか?

主な発見

  • APEXは、HPXベースのシミュレーションにおいてスケーラブルで分散型のCPU-GPUプロファイリングを可能にし、Piz Daintで2000ノードに達する規模でも実用的なオーバーヘッドを示した。
  • Piz Daintではスケール時に52.4%のプロファイリングオーバーヘッドに達したが、主にCUPTIによるGPU測定が原因であり、CPUオンリーモードではより低いオーバーヘッドであった。
  • Summitではスケール時に31.8%のプロファイリングオーバーヘッドを示し、GPUプロファイリングのスケーラビリティが高く、影響が小さいことを示した。
  • V100における平均GPUカーネル実行時間はP100と比較して顕著な高速化を示したが、これはSM数の増加ではなく、L1キャッシュおよびメモリ帯域幅の向上によるものと推定される。
  • ハイドロソルバの通信処理はPiz Daintにおいて主要なボトルネックであり、特にschedule_parcel関数が問題視された。この関数はAPEXのデータに基づき最適化された。
  • 最適化後、APEXの測定結果はパフォーマンスの向上を確認しており、生産環境HPCワークロードにおけるコード最適化を支援する分散プロファイリングの価値を示した。

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

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

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

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