概要
MPI(Message Passing Interface)は、1992年にMPI Forumが設立されて以来、HPC(High‑Performance Computing)における分散並列計算の標準規格として確立されてきました。1994年にMPI 1.0、1997年にMPI 2.0、2012年にMPI 3.0、2021年にMPI 4.0、2023年にMPI 4.1が正式にリリースされ、2025年にはMPI 4.1.1が安定版として公開されました。2026年に向けてはMPI 5.0のドラフトが策定中で、GPU‑aware collectiveやRDMA over RoCE 2の最適化が主要テーマです。
MPIは、プロセス間の点対点通信(MPI_Send / MPI_Recv)と集合通信(MPI_Bcast / MPI_Reduce)を提供し、MPI_CommとMPI_Groupで通信領域を管理します。多くの実装が存在し、代表的なものにOpen MPI、MPICH、MVAPICH、Intel MPI、IBM Platform MPI、Cray MPT、Microsoft MPI(MS‑MPI)があります。これらはすべてオープンソース(Apache 2.0、BSD、LGPLなど)または商用ライセンスで配布され、Linux、Windows、macOS、UNIX系OSで動作します。
「MPI Open MPI/MPICH/MVAPICH 1992-2026」を深く理解する関連記事 主な特徴・仕組み
特徴 内容 代表実装 スケーラビリティ 10^4〜10^6プロセスに対応 Open MPI 5.1、MPICH 4.0 スレッドサポート MPI_THREAD_MULTIPLE(レベル3) Open MPI 5.1、Intel MPI 2026 GPU‑aware CUDA、HIP、OpenCLを直接扱う MVAPICH3、Intel MPI 2026 RDMA最適化 InfiniBand、RoCE 2、iWARP MVAPICH2‑GDR、Open MPI 5.1 ファイルI/O MPI‑IO、MPI‑IO 2、MPI‑IO 3 MPICH 4.0、Open MPI 5.1 ハイブリッド MPI + OpenMP / TBB / CUDA ほぼすべての実装 ロードバランシング 動的プロセス管理 MPICH 4.0、Open MPI 5.1 フォールトトレランス FT‑MPI、Open MPIのFault‑Tolerance Open MPI 5.1 ライセンス Apache 2.0 / BSD / LGPL Open MPI、MPICH、MVAPICH 開発コミュニティ MPI Forum、各実装のGitHub すべて
実装別の数値スペック(抜粋)
実装 バージョン 最高プロセス数 スレッドレベル メモリオーバーヘッド GPUサポート 主要ネットワーク 主要OS 主要CPU 主要GPU 主要ライセンス Open MPI 5.1 1,048,576 3 1.2 MB/プロセス CUDA, HIP InfiniBand, RoCE 2 Linux, macOS, Windows x86_64, ARM NVIDIA, AMD Apache 2.0 MPICH 4.0 512,000 3 1.0 MB/プロセス CUDA InfiniBand, RoCE 2 Linux, macOS, Windows x86_64, POWER NVIDIA BSD MVAPICH3 3.0 1,024,000 3 1.1 MB/プロセス CUDA, HIP InfiniBand, RoCE 2 Linux x86_64, POWER NVIDIA, AMD BSD Intel MPI 2026 2,048,000 3 1.3 MB/プロセス CUDA, HIP InfiniBand, RoCE 2 Linux, Windows x86_64 NVIDIA, AMD Commercial IBM Platform MPI 2025 512,000 3 1.0 MB/プロセス CUDA InfiniBand, RoCE 2 AIX, Linux POWER NVIDIA IBM Cray MPT 2025 1,024,000 3 1.2 MB/プロセス CUDA Cray Gemini, Aries Linux x86_64, POWER NVIDIA Cray Microsoft MPI 2025 256,000 3 1.0 MB/プロセス CUDA InfiniBand, RoCE 2 Windows x86_64 NVIDIA Commercial
具体例・対応製品(テーブル必須)
製品名 ベンダー 主な用途 主要ハードウェア 推奨MPI実装 Summit NVIDIA / IBM AI + HPC AMD EPYC + NVIDIA A100 Open MPI 5.1 Fugaku RIKEN / Fujitsu 量子化学 + シミュレーション Fujitsu A64FX + NVIDIA V100 MPICH 4.0 Perlmutter NVIDIA / Cray 大規模データ解析 AMD EPYC + NVIDIA A100 Cray MPT HPE Apollo HPE バイオインフォマティクス Intel Xeon + NVIDIA RTX Intel MPI 2026 Theta IBM 天候予報 IBM POWER9 + NVIDIA V100 IBM Platform MPI Frontier ORNL 物理学シミュレーション AMD EPYC + NVIDIA H100 Open MPI 5.1 TACC Stampede Texas A&M 量子化学 Intel Xeon + NVIDIA RTX MPICH 4.0 ALCF ThetaGPU Argonne AI + HPC AMD EPYC + NVIDIA A100 MVAPICH3 HPE Superdome HPE 大規模データベース Intel Xeon + NVIDIA RTX Intel MPI 2026 NERSC Cori NERSC 量子化学 Intel Xeon + NVIDIA V100 MPICH 4.0
選び方・注意点
ハードウェアとの親和性
InfiniBand/Aries/Aries‑GX が主流ならOpen MPI 5.1やMVAPICH3を選択。
AMD EPYC + NVIDIA H100 ならOpen MPI 5.1がGPU‑aware collectiveを最適化。
GPU‑アクセラレーション
CUDA/HIP を直接扱う必要がある場合はMVAPICH3またはIntel MPI 2026。
GPU‑aware collective が必須ならOpen MPI 5.1の MPI_T を活用。
スレッドレベル
MPI_THREAD_MULTIPLE が必要ならOpen MPI 5.1、MPICH 4.0、Intel MPI 2026。
スレッドレベルが低い場合はMPICHが軽量。
フォールトトレランス
大規模クラスタで稼働する場合はOpen MPI 5.1 の FT‑MPI を検討。
ライセンスとサポート
商用サポートが必要ならIntel MPI、IBM Platform MPI、Cray MPT。
オープンソースであればOpen MPI、MPICH、MVAPICH。
関連用語との違い
用語 主な違い 代表的実装 MPI プロセス間通信の標準規格 すべて Open MPI 実装の一種 Open MPI MPICH 参照実装 MPICH MVAPICH InfiniBand/RoCE専用 MVAPICH3 Intel MPI 商用サポート付き Intel MPI 2026 Cray MPT Cray専用 Cray MPT Microsoft MPI Windows専用 Microsoft MPI
よくある質問 (FAQ)
MPI 4.1.1 と MPI 4.0 の主な違いは何ですか?
MPI 4.1.1 では、GPU‑aware collective のオプションが拡張され、MPI_Win_create_dynamic の非同期版が追加されました。また、MPI_T のパフォーマンス計測機能が改善され、MPI_Comm_spawn の子プロセスの自動終了がサポートされました。
Open MPI 5.1 での RDMA over RoCE 2 の設定方法は?
btl_openib_use_rdmacm を 1 に設定し、btl_openib_ib_port で RoCE 2 ポートを指定します。さらに、btl_openib_rdmacm を有効にすると、RDMA 接続の確立が高速化されます。
MPI と OpenMP のハイブリッドプログラミングで注意すべき点は?
MPI_THREAD_MULTIPLE を有効にすると、OpenMP のスレッドが MPI コールを同時に実行できますが、スレッドセーフでない MPI 実装ではデータ競合が発生します。Open MPI 5.1 では btl_base_verbose を 5 以上に設定し、デバッグ情報を確認することが推奨されます。
まとめ
MPI は1992年から2026年にかけて、MPI 1.0 から MPI 4.1.1 まで進化し、2025年には MPI 5.0 のドラフトが進行中です。Open MPI 5.1、MPICH 4.0、MVAPICH3、Intel MPI 2026、IBM Platform MPI、Cray MPT、Microsoft MPI など、多様な実装が存在し、ハードウェアやアプリケーションの要件に応じて選択できます。GPU‑aware collective、RDMA over RoCE 2、フォールトトレランス、スレッドレベル 3 などの機能が標準化され、HPC 以外の分野(AI、データ解析、量子化学)でも広く採用されています。今後は MPI 5.0 の正式リリースに伴い、さらに高度な GPU‑to‑GPU 通信やメモリ統合が実装され、エグゼクティブレベルのスケーラビリティが実現される見込みです。