[SCore-users-jp] ノード数とコア数が不一致
vqm_mp
vqm_mp @ yahoo.co.jp
2006年 10月 17日 (火) 16:18:31 JST
鈴木です.大変お世話になっております.ありがとう
ございます.
> この場合, ハードウエア構成よりもソフトウエア構成
> (どうやってどこに mpich をインストールし,
> コンパイル/実行したか) のほうが重要なんですが...
すべて,デフォルトです.OSをインストールしなおし,
まっさらの状態でr系コマンドの設定をし,
# ./configure
# make
# make install
としました.パスを通して実行しております.
> SCore の例にある hello.cc は MPC++ で書かれた
> もので MPI ではコンパイルできないはずです.
> mpich-1.2.7p1 に hello++.cc というのがありますが,
> こちらでしょうか?
> (MPI のテストでしたら hostname も出力されるので,
> cpi のほうが良いと思いますけど...)
hello++.ccのほうで試しました.
次の表は,以下のように訂正させてください.
> > <host_num> 実際に動いたコア数
> > 2 2
> > 3 4
> > 4 6
> > 5 8
> > 6 10
> > 7 12
>
> どのような実行結果が出てこのように判断したのかが不明な
のですが
> 具体的にたとえば 3
> の場合の出力がどうなっているのかがわからないと...
この表は,実際にhello++.ccを動かし,各ノードにおいて
topコマンド,psコマンドを使ってa.outが動いているかを
調べました.
cpi.cを動かしたときの出力結果は以下の通りです.
machineファイル:
comp01.pccluster.org:2
comp02.pccluster.org:2
#".org"の後ろの":2"を取り除いて動かしても,まったく同じ
症状
[root @ server mpi_test]# mpirun -np 4 ./a.out
Process 0 on server.pccluster.org
Process 2 on comp02.pccluster.org
Process 3 on comp01.pccluster.org
Process 0 on comp01.pccluster.org
pi is .....略
[root @ server mpi_test]# mpirun -np 3 ./a.out
Process 0 on server.pccluster.org
Process 1 on comp01.pccluster.org
Process 2 on comp02.pccluster.org
pi is .....略
同様にtop,psで調べると,<host_num>=4の場合は
server*2+comp01*4+comp02*2
だけCPUが動き,<host_num>=3の場合は,
server*2+comp01*2+comp02*2
のCPUが動いております.<host_num>と稼動コア数は
稼動コア数 = 2*<host_num>
です.サーバーホストでもa.outが動いていることを
見逃していました.
<host_num> 実際に動いたコア数
2 4
3 6
4 8
5 10
6 12
7 14
smpを使用しないで1CPUとしてOSを起動したときは,1CPUに
2つのa.outが走り,サーバーホストも加わって,
a.outの数 = 2*<host_num>
となっています.
・2倍のCPUを使ってしまうのはなぜでしょうか?
・サーバーホスト(mpirunコマンドを打ち込むホスト)も計算に
加わっていますが,これはMPIの仕様でしょうか?
・machineファイルの":2"は何を意味しているのでしょうか?
--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/
SCore-users-jp メーリングリストの案内