技術と感動をつなぐMetro

MPIプログラムの高速化事例

MPIプログラムによる並列計算とは

計算科学は、実世界のデータを基に物理・社会モデル・数学的法則を利用し、計算機利用技術やシミュレーション技術の発展に寄与してきました。その結果、広範なデータや統計的・可視化的情報を提供し、科学技術の発展を支える要素となりました。

最近では機械学習技術が進展し、シミュレーションデータや実験データを正確に記述し、計算科学の効果を実世界で利用することが容易になっています。将来的には量子コンピュータやAIの活用によって、計算科学の利用はさらに広がると予想されます。

一方、計算科学の発展とともに計算量の急激な増加が常に課題となり、そのため計算高速化への要望も絶えることがありません。計算高速化の一つの重要な技術として「MPIプログラムによる並列計算」があります。

MPIプログラムの並列計算でよくある事象

MPIプログラムの並列計算では、下図に示すようにスケーラブル(並列数の増加に応じた性能向上)になることが理想です。しかし、実問題のシミュレーションでは、スケーラブルでない状況がよく起こります。

例

スケーラブルでない要因としては、プロセス間の計算負荷(演算数)のインバランスにより「計算の待ち時間」が増えることで、並列性能の低下がよく見られます。

演算数のインバランスが起こりやすい例として、時間発展問題の陽解法で熱拡散率の温度依存計算をする場合があります。このケースでは、熱拡散率の計算が不均一に分布することでインバランスが発生しやすくなります。

MPIプログラムの並列性能低下がみられる場合の対処法とは

計算高速化のためにMPIプログラムによる並列計算を実施しても、「並列数の増加に応じた性能向上に至らない」という課題が発生してしまう理由とその対処法をご紹介いたします。

MPIプログラムの高速化事例(全29ページ)

本資料では、 弊社技術の一端として「MPIプログラムの性能改善」事例をご紹介します。

目次

  1. 並列性能向上例に使うMPIプログラムの概要について
  2. 並列性能がスケーラブルな例とは?
  3. 並列性能がスケーラブルにならない例とは?
  4. 並列性能をスケーラブルにするには?
  5. まとめ

お客様からいただく個人情報は、情報提供のために使用させていただきます。これにあたり、株式会社メトロからご連絡を取らせていただくことがございます。個人情報の取り扱いについてはプライバシーポリシーをご覧ください。

関連サービス

スーパーコンピュータや組み込み向けアプリケーションの動作が遅くなるボトルネックを解消し、開発・研究にかかる期間の短縮や経費削減に繋げます。

コンパイラの性能改善やアーキテクチャ対応、プログラム言語の新しい規格への対応など、プロセッサの性能を引き出すための独自コンパイラを開発いたします。

資料請求・お問合わせはこちらから

まずはお気軽にお電話またはフォームからお問合わせください

ページトップへ戻る