Ubuntu12.04 OpenMPIのインストール
共有メモリを使う並列計算ならばOpenMPが便利ですが、ワークステーションやスーパーコンピュータとなってくると分散メモリなのでMPIが必須になってきます。
インテルの提供するIntel MPIはコンパイラと違って有償なので、フリーで配布されているOpenMPIかMPICHを使用することにします。
ワークステーションでジョブを実行する前に、自分のパソコンでテストランしたいので、パソコンにもMPIを使ったプログラムがコンパイルできる環境を作ります。
ネットの評判を見ていると、OpenMPIの方が安定して動作し、性能も高いみたいです。
OpenMPは、実はapt-getで簡単にインストールできます。
$ sudo apt-get install openmpi-bin openmpi-dev
プログラムのコンパイルは
$ mpif90 -o test test.f90
とするとできます。
コンパイルオプションはgfortranと同じです。
ですが、今回はインテルのコンパイラが使いたいのでそっちをインストールします。
インテルのコンパイラのインストール方法は過去の記事をどうぞ。
Ubuntu12.04 Intel® Parallel Studio XE 2011 for Linuxのインストール - cmphysの日記
インストール
OpenMPIのサイトからダウンロードします。
Open MPI: Open Source High Performance Computing
現在のバージョンは1.6です。
ダウンロードしたファイルはホーム・ディレクトリにおいてください。
これを展開します。
$ tar xzvf openmpi-1.6.tar.gz
$ cd openmpi-1.6
インストール前に、インストール先の指定とコンパイラをインテルのものに変更します。
$ ./configure --prefix=/usr/local/openmpi CC=icc CXX=icpc F77=ifort FC=ifort
そしてコンパイル、管理者権限に移ってインストールを実行します。
$ make all
$ sudo su
# source /home/username/.bashrc
# make install
途中でルートに移りますが、インテルのコンパイラを使うので、そのパスが入った.bashrcを読み込む必要があります。
usernameはご自身のユーザー名に変更してください。
環境設定
~/.bashrcを開いて、ファイルの最後に次の文を付け加えます。
MPIROOT=/usr/local/openmpi PATH=$MPIROOT/bin:$PATH LD_LIBRARY_PATH=$MPIROOT/lib:$LD_LIBRARY_PATH MANPATH=$MPIROOT/share/man:$MANPATH export MPIROOT PATH LD_LIBRARY_PATH MANPATH
次に /etc/ld.so.conf.d/ を管理者権限で開いて"openmpi.conf"というファイルを作り、以下の内容を記述します。
/usr/local/openmpi/lib
複数のパソコンをつなげてMPIを使う場合は、ホストの設定が必要です。
ここではこれについては触れませんので、別に調べてください。