MPIを使用するにはそれなりの準備が必要です。
- 並列処理環境の構成
- MPIアプリケーションの導入
- machinefileの作成
MPIを使う前に並列処理環境を作ります。私はさくらのVPSを使用して作成しています。必要なのは各マシンに名前を付けてそれを
/etc/hosts
にそれを登録しておくことです。
例えば、私はPBSというバッチ処理システムを使っており、便宜上マシン名をPBS0・PBS1・PBS2と3台のマシンを借りてそこに名前を振り、MPIを実行しています。あまりおすすめできませんが、MPIを使う時はSELinuxとfirewallをオフにしておきます。
そして、NFSを使うと良いでしょう、私は/homeをNFSのマウントポイントにしていて、各ユーザが簡単にNFSでプログラムを作成して実行できるようにしています。
つぎにMPIをいれましょう。
MPIにはいくつかの流派みたいなものあがあり、そのうちのどれかをインストールしないといけません。
- MPICH
- OpenMPI
- MVAPICH
- etc.
今回は一番スタンダードなMPICHをいれます。私はCentOS7を使っているのでyumでインストールしました。
$ rpm -qa |grep mpich
mpich-3.0-3.0.4-10.el7.x86_64
mpich-3.0-devel-3.0.4-10.el7.x86_64
この二つがあれば問題ないと思います。
machinefileは実行する時に、どのマシンで並列処理をするかを決めるものです。私の場合は
pbs0
pbs1
pbs2
というmachinefileを作成して使っています。
では、ここまで設定したら実際に使ってみましょう。