MPI覚え書き(LAM編)

LAM(Local Area Multicomputer)をUNIX環境(RedHat9)にインストールし、動作確認をした際の覚え書きです。 環境によって異なる可能性があるので、参考程度にしてください。

LAMの特徴

  • MPICHと違い、あらかじめ各ホストでデーモンを起動させておく

そのためMPICHよりも起動が速い(と言われる)

  • デーモンを起動/終了する必要があるので面倒い
  • 動作させた感じでは、通信部分に関してMPICHより遅い(かも)
  • 開発はOpenMPIに引き継がれた模様

インストール手順

  • LAMのページからソースコード(lam-7.1.1.tar.gz)をダウンロード

2005年5月12日時点では Version 7.1.1 でした。

 % wget http://www.lam-mpi.org/download/files/lam-7.1.1.tar.gz
  • 圧縮されているので解凍
 % tar xvzf lam-7.1.1.tar.gz
  • ./configureを実行

権限がないのでとりあえず今回は自分のホームにインストール

% cd lam-7.1.1
% ./configure --prefix=/home/hogehoge/lam
  • コンパイル
 % make
  • インストール
 % make install
  • パスの設定
    • lam/binにパスを通しておく
    • lam/manをmanのパスに追加

環境設定

  • .rhosts の作成

自分のホームディレクトリに .hosts という名前のファイルを作成する。 内容は計算に使用するホストの列挙。このファイルはLAMとは直接関係ない(rshで使われる)

  • 記述例(~/.rhosts)
host00
host01
host02
  …
  • lamhostsファイルの作成
    • 計算に使用するホストを列挙する。 ファイル名や保存場所は実行時に指定するので何でもよい。
    • このファイルはLAMを使用する際に使われる。
    • CPUが複数あるホストにはCPUの数を記述することが可能。
    • 記述例(lamhosts)
host00 cpu=4
host01 cpu=2
host02
  …
  • ブートが可能かチェック

lamhostsに指定したホストで実行可能か調べる。 (lam/binにパスが通ってないとエラーがでました。)

% recon -v lamhosts
  • lamのブート

lamhostsに書かれたホストにlamデーモンが実行される。 このコマンドは、プログラムの実行前に1度だけ行えばよい。

% lamboot -v lamhosts

実行方法

  • ソースコードの作成

LAMとMPICHで共通です(同じMPIをなんで当たり前なんですけど)

  • コンパイル

-O2等のオプションも普通に使用できます。

% hcc -o hogehoge hogehoge.c
  • 実行方法
    • mpirunコマンドで実行します。
    • -npオプションで使用するノードの数を指定できます。
    • lamhostsで挙げたホスト数よりも多い場合は、一つのホストに複数割り当てられます。
    • 例(ホスト5台でhogehogeを実行する場合)
% mpirun -np 5 hogehoge

後処理

次のコマンドで後処理を行う。 これをおこなっておかないと、LAMデーモンが走り続けてしまうので注意。

  • プロセスやメッセージの削除
% lamclean -v
  • 各ホストで起動しているLAMデーモンの終了
% wipe -v lamhosts

XMPI

XMPIを使うことによってGUIを用いて動作状況を確認することができます。

  • インストール方法

XMPI 2.2.3b8をインストールしたときのメモです。

  • LAMの再インストール

上記のLAMのインストール方法ではインストール時にエラーできないので、インストール時にオプションを指定し、再インストールします。

% cd ~/lam-7.1.1
% make uninstall
% make distclean
% ./confugure --prefix=/home/hogehoge/lam --with-trillium
% make
% make install
  • XMPIのダウンロード

XMPIのページからXMPI 2.2.3b8 Betaをダウンロードします。

% wget http://www.lam-mpi.org/download/files/xmpi-2.2.3b8.tar.gz
  • XMPIのインストール

次のコマンドでインストールを行います。

% tar xzvf xmpi-2.2.3b8.tar.gz
% cd xmpi-2.2.3b8
% ./configure --prefix=/home/hogehoge/xmpi
% make
% make install
  • パス設定

~/xmpi/bin/にパスを通しておいてください。

  • 実行方法

上記の環境設定(lamboot)を行い、各ノードを登録します。 そして、次のコマンドでXMPIを起動します。

% xmpi & 

すると次のような画面が表示されます。

  • 起動画面

メニューのApplication→Build&Run…でプログラム・ホスト等の指定を行うことで、実行状況を次のような画面でみることができます。

  • タイムチャート

  • ホスト状況

  • 通信マトリックス

関連項目