[SCore-users-jp] ノード数とコア数が不一致

Kameyama Toyohisa kameyama @ pccluster.org
2006年 10月 17日 (火) 18:06:09 JST


亀山です.

vqm_mp wrote:
>> この場合, ハードウエア構成よりもソフトウエア構成
>> (どうやってどこに 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 .....略

指定 process 0 が 2 つあるのが気になりますが,
    server * 1, comp01 * 2, comp02 * 1
の 4 process ですね.

> [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 .....略

server, comp01. comp02 の 3 process ですね.

指定どおりに動いているようですけど...

> 同様に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>
> smpを使用しないで1CPUとしてOSを起動したときは,1CPUに
> 2つのa.outが走り,サーバーホストも加わって,
>    a.outの数 = 2*<host_num>
> となっています.

    http://www.alde.co.jp/information/mpiinit/mpiinit.html
によると,
        Listener と呼ばれる外部プログラムをさらに 起動するために用いられる
プロセスが起動されるようです.
起動されるだけで, 何もしないようなので, 影響はなさそうですけど...

> ・サーバーホスト(mpirunコマンドを打ち込むホスト)も計算に
>  加わっていますが,これはMPIの仕様でしょうか?

    http://www-unix.mcs.anl.gov/mpi/www/www1/mpirun.html
をみると
      -nolocal 	do not run on the local machine (only works for p4 and
ch_p4 jobs)
というオプションが存在します.

> ・machineファイルの":2"は何を意味しているのでしょうか?


http://www-unix.mcs.anl.gov/mpi/mpich1/docs/mpichman-chp4/node14.htm#Node19
によると, configure のときに,
    -comm=shared
をつけたとき意味があるようです.

Kameyama Toyohisa



SCore-users-jp メーリングリストの案内