[SCore-users-jp] SCore7 beta5における並列実行で停止する現象について教えてください

Kameyama Toyohisa kameyama @ pccluster.org
2010年 10月 26日 (火) 10:12:17 JST


亀山です.

(10/22/10 19:07), Hiroaki Shibata Wrote:
> 現象ですが、以下のようなプログラムをコンパイルして実行した場合に、
> -------------------------------------------------
> program main
> 
>    use mpi
> 
>    implicit none
> 
>    integer MYRANK, NPROC, IERR, DESTRANK, ISTAT(MPI_STATUS_SIZE)
>    real*8 SBUF, RBUF
> 
>    call MPI_INIT( IERR )
>    call MPI_COMM_SIZE( MPI_COMM_WORLD, NPROC, IERR )
>    call MPI_COMM_RANK( MPI_COMM_WORLD, MYRANK, IERR )
> 
>    if(MYRANK == 0) then
>      do DESTRANK=1, NPROC-1
>          SBUF = DESTRANK
>          call MPI_SEND(SBUF,1,MPI_REAL8,DESTRANK,0,MPI_COMM_WORLD,IERR)
>      end do
>    else
>      call MPI_RECV(RBUF,1,MPI_REAL8,0,MPI_ANY_TAG,MPI_COMM_WORLD,ISTAT,IERR)
>      write(6,200) MYRANK,RBUF
> 200 format(1h ,'RANK:',i2,' Received data:',f4.1)
> 
>    end if
>    call MPI_FINALIZE(IERR)
>    stop
> 
> end program main
> -----------------------------------------------
> 
> -------------実行結果--------------------------
> $ scrun -nodes=2x8 -group=./machinefile2_4 -network=ethernet ./test
> SCore (7.Beta.5) Connected
> SCORE{1} 16 nodes (2x8) ready.
>   RANK: 8 Received data: 8.0
>   RANK:10 Received data:10.0
>   RANK:12 Received data:12.0
>   RANK:11 Received data:11.0
>   RANK:15 Received data:15.0
>   RANK:14 Received data:14.0
>   RANK: 1 Received data: 1.0
>   RANK: 2 Received data: 2.0
>   RANK: 4 Received data: 4.0
>   RANK: 5 Received data: 5.0
>   RANK: 7 Received data: 7.0
>   RANK: 3 Received data: 3.0
>   RANK: 6 Received data: 6.0
>   RANK: 9 Received data: 9.0
> -----------------------------------------------
> 上記のように、結果が全て出力されずに、停止した状態になります。
> ctrl-Cで終了させることはできます。8並列までは特に問題なく実行され
> ますが、16並列以上になると、この現象が発生します。

対症療法ですが, 送信バッファ及び受信バッファを MTU * senddesc, MTU * recvdesc 以上
確保してみてください.
MTU が 1460 の場合, sendbufsize と recvbufsize を 374784 に
設定してみてください.

Kameyama Toyohisa



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