読み方 : エムピーアイ

MPI【Message Passing Interface】

概要

MPIとは複数のコンピュータやプロセッサが連携して並列計算を行う環境において、プロセス間でデータをやり取りするための標準仕様。通信に用いる関数群と手順を定めており、科学技術計算の分野でよく用いられる。
MPIのイメージ画像

コンピュータ上で動作する各プロセスは独立したメモリ空間を持つため、他のプロセスのメモリに直接アクセスすることはできない。そこでMPIでは、データをメッセージとして明示的に送受信することでプロセス間の情報共有を行う。

通信の種類としては、特定の相手とデータを一対一でやり取りする「ポイントツーポイント」通信のほか、全プロセスに同じデータを配布する「ブロードキャスト」、各プロセスの計算結果を一か所に集める「リダクション」、全体でデータを共有する「オールギャザー」などがある。開発者はこれらの関数を呼び出すだけで、ネットワークの低レベルな制御を意識することなく並列プログラムを記述できる。

MPIは特定のソフトウェア製品ではなく仕様であり、「MPICH」や「Open MPI」など複数の実装が提供されている。いずれもオープンソースで配布されており、LinuxWindowsなど主要な環境で動作する。同じ仕様に基づいて書かれたプログラムは、対応する実装が存在すれば異なるコンピュータ上でも動作するため、移植性の高さが評価されている。

MPIは1990年代前半に産学の専門家によって策定された。当時は並列コンピュータのメーカーごとに通信ライブラリが異なっており、プログラム移植が困難であったことから、共通仕様の整備が求められていた。現在も気象予測や流体解析、分子シミュレーションなど大量の計算資源を必要とする科学技術分野で利用されており、大規模なスーパーコンピュータでは数万のプロセスがMPIを介して連携する形で運用されることも珍しくない。

(2026.7.12更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。