読み方 : エムピーアイ
MPI【Message Passing Interface】
概要

コンピュータ上で動作する各プロセスは独立したメモリ空間を持つため、他のプロセスのメモリに直接アクセスすることはできない。そこでMPIでは、データをメッセージとして明示的に送受信することでプロセス間の情報共有を行う。
通信の種類としては、特定の相手とデータを一対一でやり取りする「ポイントツーポイント」通信のほか、全プロセスに同じデータを配布する「ブロードキャスト」、各プロセスの計算結果を一か所に集める「リダクション」、全体でデータを共有する「オールギャザー」などがある。開発者はこれらの関数を呼び出すだけで、ネットワークの低レベルな制御を意識することなく並列プログラムを記述できる。
MPIは特定のソフトウェア製品ではなく仕様であり、「MPICH」や「Open MPI」など複数の実装が提供されている。いずれもオープンソースで配布されており、LinuxやWindowsなど主要な環境で動作する。同じ仕様に基づいて書かれたプログラムは、対応する実装が存在すれば異なるコンピュータ上でも動作するため、移植性の高さが評価されている。
MPIは1990年代前半に産学の専門家によって策定された。当時は並列コンピュータのメーカーごとに通信ライブラリが異なっており、プログラムの移植が困難であったことから、共通仕様の整備が求められていた。現在も気象予測や流体解析、分子シミュレーションなど大量の計算資源を必要とする科学技術分野で利用されており、大規模なスーパーコンピュータでは数万のプロセスがMPIを介して連携する形で運用されることも珍しくない。
(2026.7.12更新)