ソフトウェア
上級

MPI Open MPI/MPICH/MVAPICH 1992-2026(エムピーアイメッセージパッシング)

Message Passing Interface MPI 1992-2026 HPC並列計算標準。MPI Forum 1992設立 (Argonne National Lab+IBM+Intel+Cray+Convex)・MPI 1.0 1994/5標準化+MPI 2.0 1997+MPI 3.0 2012+MPI 4.0 2021+MPI 4.1 2023・Open MPI (Indiana Univ+LANL+University of Tennessee 2004 Apache 2.0+BSD+LA-MPI+FT-MPI+LAM/MPI Merge)・MPICH (Argonne+Mississippi 1992 BSD・MPI Reference Implementation)・MVAPICH+MVAPICH2-GDR (Ohio State University・InfiniBand+RoCE+GPU Optimized)・Intel MPI Library (Intel oneAPI Base Toolkit同梱)・MPC Multi-Processor Computing+IBM Platform MPI+HPE Cray MPT+Microsoft MPI MS-MPI Windows・MPI Functions: MPI_Init/MPI_Finalize+MPI_Send/MPI_Recv/MPI_Bcast/MPI_Reduce+Collective Operations+Point-to-Point Communication・Hybrid MPI+OpenMP/CUDA・MPI Communicator+Group・SLURM srun+mpirun+mpiexec Launcher・¥0 OSS, 2026年Open MPI 5.x+MPICH 4.x+MVAPICH3 +Intel MPI主流。

0 回閲覧
0 いいね
2026/4/30 更新
関連タグ
MPI 1.0 1994 Forum
Open MPI 5 OSS
MPICH 4 Argonne
MVAPICH3 InfiniBand GPU
Intel MPI oneAPI

概要

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で動作します。

主な特徴・仕組み

特徴内容代表実装
スケーラビリティ10^4〜10^6プロセスに対応Open MPI 5.1、MPICH 4.0
スレッドサポートMPI_THREAD_MULTIPLE(レベル3)Open MPI 5.1、Intel MPI 2026
GPU‑awareCUDA、HIP、OpenCLを直接扱うMVAPICH3、Intel MPI 2026
RDMA最適化InfiniBand、RoCE 2、iWARPMVAPICH2‑GDR、Open MPI 5.1
ファイルI/OMPI‑IO、MPI‑IO 2、MPI‑IO 3MPICH 4.0、Open MPI 5.1
ハイブリッドMPI + OpenMP / TBB / CUDAほぼすべての実装
ロードバランシング動的プロセス管理MPICH 4.0、Open MPI 5.1
フォールトトレランスFT‑MPI、Open MPIのFault‑ToleranceOpen MPI 5.1
ライセンスApache 2.0 / BSD / LGPLOpen MPI、MPICH、MVAPICH
開発コミュニティMPI Forum、各実装のGitHubすべて

実装別の数値スペック(抜粋)

実装バージョン最高プロセス数スレッドレベルメモリオーバーヘッドGPUサポート主要ネットワーク主要OS主要CPU主要GPU主要ライセンス
Open MPI5.11,048,57631.2 MB/プロセスCUDA, HIPInfiniBand, RoCE 2Linux, macOS, Windowsx86_64, ARMNVIDIA, AMDApache 2.0
MPICH4.0512,00031.0 MB/プロセスCUDAInfiniBand, RoCE 2Linux, macOS, Windowsx86_64, POWERNVIDIABSD
MVAPICH33.01,024,00031.1 MB/プロセスCUDA, HIPInfiniBand, RoCE 2Linuxx86_64, POWERNVIDIA, AMDBSD
Intel MPI20262,048,00031.3 MB/プロセスCUDA, HIPInfiniBand, RoCE 2Linux, Windowsx86_64NVIDIA, AMDCommercial
IBM Platform MPI2025512,00031.0 MB/プロセスCUDAInfiniBand, RoCE 2AIX, LinuxPOWERNVIDIAIBM
Cray MPT20251,024,00031.2 MB/プロセスCUDACray Gemini, AriesLinuxx86_64, POWERNVIDIACray
Microsoft MPI2025256,00031.0 MB/プロセスCUDAInfiniBand, RoCE 2Windowsx86_64NVIDIACommercial

具体例・対応製品(テーブル必須)

製品名ベンダー主な用途主要ハードウェア推奨MPI実装
SummitNVIDIA / IBMAI + HPCAMD EPYC + NVIDIA A100Open MPI 5.1
FugakuRIKEN / Fujitsu量子化学 + シミュレーションFujitsu A64FX + NVIDIA V100MPICH 4.0
PerlmutterNVIDIA / Cray大規模データ解析AMD EPYC + NVIDIA A100Cray MPT
HPE ApolloHPEバイオインフォマティクスIntel Xeon + NVIDIA RTXIntel MPI 2026
ThetaIBM天候予報IBM POWER9 + NVIDIA V100IBM Platform MPI
FrontierORNL物理学シミュレーションAMD EPYC + NVIDIA H100Open MPI 5.1
TACC StampedeTexas A&M量子化学Intel Xeon + NVIDIA RTXMPICH 4.0
ALCF ThetaGPUArgonneAI + HPCAMD EPYC + NVIDIA A100MVAPICH3
HPE SuperdomeHPE大規模データベースIntel Xeon + NVIDIA RTXIntel MPI 2026
NERSC CoriNERSC量子化学Intel Xeon + NVIDIA V100MPICH 4.0

選び方・注意点

  1. ハードウェアとの親和性
    • InfiniBand/Aries/Aries‑GX が主流ならOpen MPI 5.1やMVAPICH3を選択。
    • AMD EPYC + NVIDIA H100 ならOpen MPI 5.1がGPU‑aware collectiveを最適化。
  2. GPU‑アクセラレーション
    • CUDA/HIP を直接扱う必要がある場合はMVAPICH3またはIntel MPI 2026。
    • GPU‑aware collective が必須ならOpen MPI 5.1の MPI_T を活用。
  3. スレッドレベル
    • MPI_THREAD_MULTIPLE が必要ならOpen MPI 5.1、MPICH 4.0、Intel MPI 2026。
    • スレッドレベルが低い場合はMPICHが軽量。
  4. フォールトトレランス
    • 大規模クラスタで稼働する場合はOpen MPI 5.1 の FT‑MPI を検討。
  5. ライセンスとサポート
    • 商用サポートが必要ならIntel MPI、IBM Platform MPI、Cray MPT。
    • オープンソースであればOpen MPI、MPICH、MVAPICH。

関連用語との違い

用語主な違い代表的実装
MPIプロセス間通信の標準規格すべて
Open MPI実装の一種Open MPI
MPICH参照実装MPICH
MVAPICHInfiniBand/RoCE専用MVAPICH3
Intel MPI商用サポート付きIntel MPI 2026
Cray MPTCray専用Cray MPT
Microsoft MPIWindows専用Microsoft MPI

よくある質問 (FAQ)

  1. MPI 4.1.1 と MPI 4.0 の主な違いは何ですか?
    MPI 4.1.1 では、GPU‑aware collective のオプションが拡張され、MPI_Win_create_dynamic の非同期版が追加されました。また、MPI_T のパフォーマンス計測機能が改善され、MPI_Comm_spawn の子プロセスの自動終了がサポートされました。
  2. Open MPI 5.1 での RDMA over RoCE 2 の設定方法は?
    btl_openib_use_rdmacm を 1 に設定し、btl_openib_ib_port で RoCE 2 ポートを指定します。さらに、btl_openib_rdmacm を有効にすると、RDMA 接続の確立が高速化されます。
  3. 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 通信やメモリ統合が実装され、エグゼクティブレベルのスケーラビリティが実現される見込みです。

この記事について
カテゴリーソフトウェア
難易度上級
作成日2026/4/30