世界のスーパーコンピュータとそれを動かす人々


3月 10, 2022

米国ECPによるMPICHライブラリの最適化

HPCwire Japan

Rob Farber

Message Passing Interface (MPI) は、1990年代に導入されて以来、分散ハイパフォーマンスコンピューティング (HPC) 科学アプリケーションの通信バックボーンとして使用されてきた。現代のHPCワークロードは、単一の計算ノードで処理するには負荷が高すぎるため、MPIは現在でも科学技術計算にとって不可欠な存在である。そのため、科学的なアプリケーションは多くの計算ノードに分散されている。MPIによって実現されるこの分散計算スループットが、世界最大のスーパーコンピュータであるペタスケールやもうすぐ実現するエクサスケールの性能を実現しているのだ。

MPICHライブラリは、MPIの最も一般的な実装の1つである。MPICHは、主にアルゴンヌ国立研究所(ANL)で開発され、外部協力者の貢献により、MPICHソフトウェアは、アプリケーションプログラマが使用するMPIインタフェースと、ネットワークデバイスに低レベルのハードウェアアクセラレーションを提供するベンダーとの間のリンクを提供し、ベンダーと密接に連携して高性能MPIライブラリを提供するという考え方に固執してきた。Exascale Computing Project(ECP)のExascale MPIプロジェクトのPIであり、ANLのコンピュータサイエンティスト補佐であるYanfei Guoは、この伝統に則っている。ECP MPICHチームは、ベンダーと密接に協力して、MPICHを高速化し、GPUなどのアクセラレータの能力を活用するための一般的な最適化(あらゆる状況で機能する最適化)を追加しています」と、Guoは言う。

米国の次期エクサスケールシステムであるFrontierAuroraEl Capitanは、いずれもGPUアクセラレータを搭載している。これらのシステムでは、MPICHをベースとしたCrayとIntelのMPIライブラリを介して、主要なソフトウェア通信インターフェースとしてMPIが使用される予定だ。これらのシステムでパフォーマンスを発揮するためには、GPUのサポートは必須である。GPUサポートに加えて、ECP MPICHチームは、多くのGPU加速ハードウェアプラットフォームにわたって堅牢性を確保するためのMPICHコードベースの継続的統合や、HPCユーザーやシステム管理者がMPIベースのワークロードの挙動を把握するために使用できる、拡張可能でほぼロスレスのMPIトレーシングツールPilgrimなどの貴重な追加機能を搭載している。

Guoは、ECP MPICH最適化チームの取り組みを、次の3つのバケットで説明している。

  1. 低レベルのベンダーおよびハードウェア固有の最適化を可能にする一般的な最適化を追加し、全体的な性能を向上させ、あらゆる状況で動作するようにする。
  2. スレッドの相互運用性をサポートするMPIのスケールと能力を向上させる。
  3. GPUアクセラレータのための低レベルサポートを含む。

特集記事の続きはこちら