Create  Edit  Diff  Mac OS X Serverで作る 小さな計算機室  Index  Search  Changes  RSS  Login

Xgrid上でMPIを使う

XgridでMPIのジョブを走らせる

Mac OSがTigerになって、Xgridが標準でインストールされるようになっている。 Xgridについては色々なWebサイトに紹介されているが、その使い方や 技術的な内容について、有益な情報提供をしているサイトは案外少ない。 Mandelbrot集合の描画デモが動作することを確認して、それだけでおしまい、 というのもなんだかカナシイ。

それはともかく、Xgridがうまく動くようになったので、 今度はMPIのジョブを投入しようと思った。 わざわざXgrid上でMPIを行うメリットはないのかもしれないが、 http://developer.apple.com/hardware/hpc/mpionmacosx.html などを見ると、最近のXgridはMacMPI (LnxMPI) をサポートしているそうなので、 ものは試しというわけだ。

そこでまず http://exodus.physics.ucla.edu/appleseed/dev/developer.html にアクセスして、必要なフィアルmpi.hとMacMPI_S.c, LnxMPI_S.cをダウンロードする。 Window Serverに接続しなくても良いときには(普通の計算には)LnxMPI_S.cを使う。

gccの場合のコンパイルは

gcc program.c LnxMPI_S.c /System/Library/Frameworks/Carbon.framework/Carbon 
-I /Developer/Headers/FlatCarbon

こうして出来上がった実行ファイルをXgridにsubmitしたいわけだが、すぐに やり方がわからない。

/Developer/Examples/Xgrid/GridSampleの中にXgrid MPI Sampleというのがあったので、 それで試してみると、ジョブの投入しようとしても、いきなりエラーが出る。 変だなぁ、と思って、また調べると、どうもバグがあるらしい。

  1. Xcodeでプロジェクトを開き、「ターゲット」の中からXgrid MPI Sampleを開く。
  2. その中の「バンドルリソースをコピー」の中のxgridmpibootを削除し
  3. 代わりに、「ファイルをコピー」の中に、GridSample/MPI/Resources/の中のxgridmpibootをドラッグして入れる

こうしてからビルトすると、ちゃんとジョブが投入できるようになりました。

「グラフィック有り」版のMacMPI_S.cを使って実行ファイルを作成すると、

INIT_Processeses(), could not establish the default connection to the WindowServer.

というエラーで止まってしまうみたいだ。 ウィンドウサーバーは外部から勝手にいじられては困るので、そういうことになっているの だろう。

コマンドラインから投入

コマンドラインでジョブを投入したい時は、Appleのメーリングリストに

Re: [Xgrid] Can't submit a MPI job to Xgrid
From: Ernest Prabhakar <email@hidden>
Date: Fri, 1 Jul 2005 08:34:53 -0700
...
To run it from the command-line, you'd need to use -job batch 
with a plist file; the easiest way to get a starting point is to first 
create an MPI job using the dev example, then extract its specification 
using the command-line, e.g.:

$ xgrid -job specification -id 115 > batch.plist

という記事があった。確かに

xgrid -h hostname -auth Password -p xxxxx -job submit 実行ファイル

だけだと、複数のプロセスが起動されなかった。 ちゃんとplistファイルを書いてバッチとして入れないといけないらしい。 当面はGUIだけ使うことにしようか・・

その後についてはコマンドラインからMPIのジョブを投入を参照のこと。

Last modified:2005/11/04 18:20:23
Keyword(s):
References:[frontpage] [Mac OS X Serverで作る 小さな計算機室]