MPI environment

MPIとは、Message Passing Interfaceのことで、並列コンピューティングを利用するための標準化された規格のこと。

MPI vs OpenMP

並列計算には、共有メモリ型と分散メモリ型の2通りの処理形態がある。MPIは分散メモリ型の並列処理を行い、OpenMPは共有メモリ型の並列処理を行う。

(単純に、並列処理にはMPIとOpenMPの2種類があると覚えておけば大丈夫です。)

実装

これがややこしい。MPIは、MPICHやOpenMPI(OpenMPじゃないよ)などの実装を通して利用できる。

MPIには更に2種類あると考えればよい。

  • MPI

    • MPICH

    • OpenMPI

  • OpenMP

インストール

手元のマシン

手元のPCには、比較的簡単にインストールできる。おそらく、sudo dnf install openmpi openmpi-develコマンドでインストール可能である。

警告

ただし、実行バイナリへパスが通らないので、 /usr/lib64/openmpi/binへパスを通す 必要がある。

ex) export PATH=${PATH}:/usr/lib64/openmpi/bin を~/.bashrcに追記。

これで、mpiccmpirunのようなコマンドが利用できるようになる。

スパコン

スパコンには、MPI環境が整備されているはずなので、自分でインストールせず、moduleコマンドで提供されているものを使おう。