[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 メーリングリストの案内