MPIできるように設定してねということで、先輩の引き継ぎ資料を頼りに頑張っていたのですが、なんかうまくいかない場所がある。ググったり、ディレクトリの中身直接確認したり、なんやかんやしてたらMPI環境が少しずつできてきました。まだ完璧じゃないっぽい。でもまぁ覚書しておきます。

■MPICH2を手に入れよう!
MPICH2ってぐぐれば見つかると思いますが、かの先輩のディレクトリにパッケージあるので持ってきちゃってください。どの先輩かは研究室にいる先輩に聞いたら分かる。
どうしてもどの先輩か分からない場合はMPICHのサイトからDLできるみたいだよ

■makeしよう!
./configureでMakefileを作るらしい。らしい。引き継ぎ資料のコマンドそのままぽちぽちしてたしコンフィギュアとか初めて見たからちょっと正しいこと知りたいならggrks。
というわけでまず
$ ./configure -prefix=/home/user1/runtime --with-device=ch3:ssm
を実行してください。user1は自分のホスト名なのかな……この辺で既に分からなくなって投げ出してたんですけど……
これを実行することで、runtimeってディレクトリ作って中にいろいろ入る形になります。ch3やssmはMPIの通信方法を指定しているらしいです。MPICH2 Installer's Guideというものに細かく書いてあるので目を通すといいかもしれませんが思考停止して引き継ぎ資料の真似しちゃいます。
ちょっと時間がかかりますがMakefileができます。Makefileができましたので次はもちろん
$ make
勝手にコンパイルしてくれる~~ラクラク~~
これも結構時間かかります。ポテチでも食べて待ちましょう。最後に
$ sudo make install
ここ、ここ引き継ぎ資料の罠。sudoじゃなくても
$ su
# make install
のふたつをする方法でもいいです。どっちか。管理者権限でmake installしてください。管理者権限じゃないとだめです。なんかあほほどエラー出て止まります。prefixの設定によっては大丈夫かもしれないけどわかんなかったら管理者権限しとけばいいんだよ!
これによってruntimeの中にいろんなものが入ります。これもまた時間かかる。

■パスを通す
パス通すくらい常識やん……
ってパソコンオタクはこれ読まなくていいからさっさとパス通してどうぞ。パスってなんだよってところからググったらサッカーの記事が出てきた情弱を蔑み笑え!笑えよ!!
引き継ぎ資料だと作ったruntimeの下のbinへパス通してねで終わりなので。
ホームフォルダにある.bash_profileってファイルの中身を書き換えてください。おそらく元々"PATH=$PATH:$HOME/bin"みたいな一文があります。その下の行にでも"PATH=$PATH:/home/user1/runtime/bin"を加えてあげてください。最初から書いてある文があればその一文でおk、なければ"export PATH"のおまじないを追加してください。
$ source ~/.bash_profile
と実行すればパスが通ります。ちなみに.bash_profileでも.bashrcでもどっちでもいいらしいです。書き加えることとコマンドは一緒です。なんでふたつあんの。情弱惑わせるためなの?

■設定はもうちょっとだけ続くんじゃ
この辺ほんと引き継ぎ資料読んで
ホームディレクトリに.mpd.confってファイルを手作りしてください。中身は"secretword=**********"の一文です。要はパスワードですかね?適当な文字列でいいからログインのパスワードとか流用しないほうがいいんじゃないかな。わたしは好きなキャラの名前入れました。
.mpd.confは各ノードのホームディレクトリに必要らすぃですけどノードってなんだろうなあって感じなのでこの辺説明できません。サイトによってはひとつのマシンに置いとけば充分とか言いやがる……どれだけ情弱を闇に引き釣り込む気なんだ……
$ chmod 600 ~/.mpd.conf
でファイルの権限も変更しといてください。って引き継ぎ資料が言ってた。600が分からない人はググろう。ファイル権限変えとけってしか言われてなかったから私はググった。
で。もうひとつファイル作ります。
mpd.hostsとか名前はなんでもいいんだって。場所もホームディレクトリでいいんじゃないかなって。中身はホスト名か直接IPアドレスか。コンピュータの一覧が書いてあるファイル作れだって。引き継ぎ読んでね。



ここまでやればMPIの設定はできたらしいです。
らしいってのは「このコマンド打って確認して~」って引き継ぎにあるけどできてるのかさっぱりだからです!
同期生分かったら私にも教えてね!
一応リストアップしておくと、
$ which mpdboot
設定したパスが出てくればおk。ちゃんとパスが通ってないとno mpdboot inって出てくる。出てきた。パスが通ってなきゃMPIのコマンド一個も使えません。
$ mpdboot
MPI起動してるらしいです。
$ mpdtrace
これをして自分のホスト名が表示されたらちゃんと起動してます。
$ mpdallexit
を使って終了してあげましょう。
ここまでがちゃんとできてれば上で長々書いた設定はできてるよやったね!


本題はこの次かな。複数端末での起動はファイアウォールの設定が関わってくるとかこないとか。解決できたらまたサイト更新かな~~~がんばります。





戻る