[Mitgcm-support] Re: MPI with ifc broken ?
mitgcm-support at dev.mitgcm.org
mitgcm-support at dev.mitgcm.org
Wed Jul 9 15:51:34 EDT 2003
Alistair,
Dimitris is at a conference this week.
I had trouble too setting up the parallel global state estimation
on an AER cluster, maybe the same problem.
Can we fix it here?
-p.
support at mitgcm.org wrote:
> Dimitri,
>
> Hate to complain BUT...
>
> The stuff you added to ini_procs.F (for gather/scatter) seems to be breaking
> the parallel version of the model.
>
> Looking at what you've done, you're using blocking sends without
> corresponding receives so that the model can't get past those sends. I
> think you need non-blocking sends followed by receives. Can you undo those
> changes prompto and then fix it.
>
> Thanks,
>
> A.
>
>
>>-----Original Message-----
>>From: Jean-Michel Campin [mailto:jmc at gulf.mit.edu]
>>Sent: Friday, May 09, 2003 10:04 AM
>>To: support at mitgcm.org
>>Subject: Re: MPI with ifc broken ?
>>
>>
>>Hi again,
>>
>>
>>>It seems that something is broken in the code
>>>for MPI with ifc (Linux, like the myrinet-3 cluster) between
>>>checkpoint48e (still working) and checkpoint48f: no output (all
>>>STDOUT + STDERR are empty) and the error message is (on 2 cpus):
>>
>>Finally it turns to be weekly related to modifications
>>for scatter_2d.F gather_2d.F : the problem is in
>>ini_procs.F (eesup/src) and is due to the changes between
>>1.14 and 1.15:
>>
>>
>>>C-- To speed-up mpi gather and scatter routines, myXGlobalLo
>>>C and myYGlobalLo from each process are transferred to
>>>C a common block array. This allows process 0 to know
>>>C the location of the domains controlled by each process.
>>> DO npe = 0, numberOfProcs-1
>>> CALL MPI_SEND (myXGlobalLo, 1, MPI_INTEGER,
>>> & npe, mpiMyId, MPI_COMM_MODEL, ierr)
>>> ENDDO
>>> DO npe = 0, numberOfProcs-1
>>> CALL MPI_RECV (itemp, 1, MPI_INTEGER,
>>> & npe, npe, MPI_COMM_MODEL, istatus, ierr)
>>> mpi_myXGlobalLo(npe+1) = itemp
>>> ENDDO
>>> DO npe = 0, numberOfProcs-1
>>> CALL MPI_SEND (myYGlobalLo, 1, MPI_INTEGER,
>>> & npe, mpiMyId, MPI_COMM_MODEL, ierr)
>>> ENDDO
>>> DO npe = 0, numberOfProcs-1
>>> CALL MPI_RECV (itemp, 1, MPI_INTEGER,
>>> & npe, npe, MPI_COMM_MODEL, istatus, ierr)
>>> mpi_myYGlobalLo(npe+1) = itemp
>>> ENDDO
>>
>>When I comment those lines, it works fine.
>>
>>Jean_Michel
>
>
>
--
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Patrick Heimbach ............................. MIT
FON: +1/617/253-5259 .......... EAPS, Room 54-1518
FAX: +1/617/253-4464 ..... 77 Massachusetts Avenue
mailto:heimbach at mit.edu ....... Cambridge MA 02139
http://www.mit.edu/~heimbach/ ................ USA
More information about the MITgcm-support
mailing list