MPICH
最新版 |
4.3.0b1
/ 2024年11月16日[1] |
---|---|
リポジトリ | |
プログラミング 言語 | C89、C++、Fortran |
対応OS | Linux、MacOS、他。 |
サポート状況 | 開発中(Active) |
ライセンス | MPICH license (permissive) |
公式サイト | https://www.mpich.org |
MPICH(以前はMPICH2と呼ばれていた)は、自由に利用可能なポータブルなMPI実装である。MPIとは、並列計算で使われる分散メモリアプリケーションのためのメッセージパッシングの標準の一つである。MPICHは、アメリカ合衆国の政府機関によって開発されたパブリックドメインのコンポーネントを含む、フリーでオープンソースのソフトウェアである[2]。LinuxとmacOSを含むUnix系OSのほとんどで使用できる。
歴史
[編集]アルゴンヌ国立研究所がパブリックドメインソフトウェアとして初期のバージョン(MPICH-1)を開発した。名前のCHの部分は、MPICHの初期開発メンバーの一人であるビル・グロップが開発した、ポータブルな並列プログラミングライブラリ「Chameleon」に由来する。
MPICHの初期の実装(「MPICH1」と呼ばれることもある)はMPI-1.1標準を実装している。2001年頃から、MPICH1を置き換える新しいコードベースが開発され始め、MPI-2標準をサポートするようになった。2012年11月まで、このプロジェクトは「MPICH2」と呼ばれていた。2012年11月、MPICH2プロジェクトは単なる「MPICH」に名称変更された。MPICH v3.0実装は、MPI-3.0標準を実装している。
MPICHは、最も人気のあるMPI実装の1つであり、非常に多くのMPI実装の基礎となっている。MPICHがベースとなっている実装としては、IBM MPI(for Blue Gene)、Intel MPI、Cray MPI、Microsoft MPI、Myricom MPI、OSU MVAPICH/MVAPICH2など、多数の実装がある。
MPICH channels
[編集]ch3インフラストラクチャが基礎となっている。
- Nemesis - 様々な用途に使用できる汎用のチャンネル。inter-nodeモジュール(elan、GM、IB(infiniband)、MX(myrinet express)、NewMadeleine、tcp)と、大きなメッセージ送信のための共有メモリのいくつかのintra-nodeモジュール(LMTインターフェイス)がある。
- ssm - ソケットと共有メモリ(Sockets and Shared Memory)
- shm - 共有メモリ(SHared memory)
- sock - tcp/ip ソケット
- sctp - SCTPソケット上の実験チャンネル
MPICHの派生プログラム
[編集]- IBM(Blue Geneシリーズと、オプションで利用できるx-およびp-シリーズクラスタのためのMPI)
- Cray(CrayプラットフォームのためのMPI)
- SiCortex(MPI SiCortex)
- Microsoft(MS-MPI)
- Intel(Intel MPI)
- Qlogic(MPICH2-PSM)
- Myricom(MPICH2-MX)
- オハイオ州立大学(MVAPICHおよびMVAPICH2)
- ブリティッシュコロンビア大学(MPICH2/SCTP[3]およびコルーチンをサポートしたFine-Grain MPI(FG-MPI)[4])
参考文献
[編集]- ^ Zhou, Hui .. “4.3.0b1 released | MPICH” (英語). 2024年11月30日閲覧。
- ^ MPICH License
- ^ http://www.cels.anl.gov/events/conferences/SC07/presentations/mpich2-flyer.pdf.
- ^ http://www.cs.ubc.ca/~humaira/fgmpi.html