エクサスケールのターゲットを目指してアプリケーションを先進化
Tiffany Trader

エクサスケールコンピュータは、数万のメニーコアノードを採用し、数百万スレッドを活用できるアプリケーション開発の挑戦的な任務をプログラマに残している。Crayのブログ、Crayヨーロッパのエクサスケール研究のマネージャー、Jason Beech-Brandt博士が、どのようにスーパーコンピュータメーカーはCRESTAとして知られている共同の活動を通じてエクサスケールアプリケーションのための基礎を築くことを支援しているかについて書いている。
エクサスケールアプリケーションを生産的にするために、サポートされるすべてのレイヤー、OSとランタイムシステムから通信や科学ライブラリを通じてコンパイラやツールセットまで、も最適化される必要がある。このようなエコシステムの必要性は、2009年に遡ってCray Research Initiative Europを設立するためにCrayが主導した。その試みの一環として、CrayはCRESTA(エクサスケールシステムウェアの共同研究)の旗の下に欧州全域で重要な高性能コンピューティング(HPC)センターとソフトウェアやツールの開発者と協力している。
「協調設計は、プロジェクトの核となっており、実際のアプリケーション要件が、システムウェアの開発や研究を動かし、その後、継続的かつ好循環にアプリケーションへとフィードバックされます。」とBeech-Brandtは説明する。
欧州連合からの資金で、CRESTAはエクサスケールに焦点を当てた開発のための6つのアプリケーションを選択している。そのアプリケーションは、CRESTAのHPCセンターパートナーによって選ばれ、CFD、数値気象予報、生体分子システム、核融合エネルギー、および生理学的フローを含む幅広い範囲の領域を代表する。
CRESTAチームは、PGAS言語やOpenACCのような新しいプログラミングモデルだけでなく、強化されたライブラリ、例えば、FFTや疎行列演算などを模索している。別の技術は、アプリケーションと通信ライブラリの両方で耐障害性機能を導入することである。チームはまた、改良されたコンパイラ、ワークフロー、および開発者がペタスケールおよびエクサスケールの進捗を制限するボトルネックに取り組むことを支援するためにパートナーAllineaとTU DresdenからのDDTやVampirのような診断ツールを試している。
プロジェクトは、オークリッジ国立研究所に設置された20 Petaflops(ピーク)のCray XK7 Titanスーパーコンピュータを含む米国、欧州のCRESTAパートナーサイトに設置された大型のCrayスーパーコンピュータを頼りにしている。アクセスは、米国エネルギー省のINCITEプログラムによって可能となっており、そして3つのCRESTAのパートナーの共同設計アプリケーションがINCITEプログラムを活用している。
Crayの代表者は、顧客がどのようにCRESTAから恩恵を受けることができるか例を幾つか挙げている。例えば、欧州中期気象予報センター(ECMWF)はその34の欧州加盟国への中期天気予報を提供するために統合予報システム(IFS)モデルを使用している。シミュレーションにおけるグローバルグリッドサイズは、現在、16km解像度に基づいており、エクサスケールシステムが採用された時には、2030年までに2.5kmのグローバル天気予報モデルにまで洗練されることが予想されている。これは、IFSが1000倍以上のコア上で効率的に実行する必要があることを意味する。CRESTAによって成し遂げられる発展は、IFSがTitan上の20万CPUコアを利用することを可能にする。これは、これまで気象モデルによって使用される最も多数なコアであり、それは2023年の中期予報に必要とされる5km解像度モデルの最初の使用を記す。
飛躍的な進歩は、新しいプログラミングモデルによって可能となり、性能のボトルネックを解消した。より明確には、Crayコンパイラ環境(CCE)はOpenMP内で重ね合わされたFORTRAN coarray機能を用い、既存の計算内に通信時間を吸収させることを可能にした。
Crayは、CFD分野でも他の成功を報告しており、OpenACCプログラミングモデルを使用するCRESTAの研究者がアクセラレータを活用して既存のNek5000コードを拡張する。Fortranコードの1000行ごとに1つだけのOpenACCディレクティブを追加することで、単にCPUを使用した場合と比較して性能がほぼ3倍増加することで、Titanの16,000以上のGPUノード全体でスケールするNek5000テストケースを既に可能にしている。
CRESTAはまた、数百万の粒子の挙動をシミュレートするための古典分子動力学パッケージ、Gromacsの性能を向上されることを支援する。その作業は、ウイルス内の膜融合のメカニズムを理解するためにハイブリッド手法(CPUとGPU)を使用することを伴う。
Crayの代表者は、CRESTAによって着手されたR&Dが、Crayコンパイラ環境(CCE)の改善につながっていると指摘し、Crayユーザーの誰もが、至るところで恩恵を受けることができる。
CRESTAの最後の年に、Beech-Brandtは「アプリケーション、システムウェア、およびツールでより大きな改善を期待しています。」と言う。プログラムの終了時に、エクサスケールの最前線にいるCrayの仕事は、EPiGRAMのようなプロジェクトで継続するだろう。