[MITgcm-support] Problem with parallel build: No. of processes?not equal to nPx*nPy
Jean-Michel Campin
jmc at ocean.mit.edu
Sat Nov 12 10:38:41 EST 2011
Hi Yuan,
Just a precision regarding this point:
> The implementation of parallel in longitude had problems,
I think that the only part of the code that does not support
domain decomposition in the X direction is pkg/zonal_filt
(fourier filtering in zonal direction).
So if you are not using pkg/zonal_filt, you can use domain decomposition
in X and/or in Y direction, and this should work.
If it does not work, please report the problem.
Thanks,
Jean-Michel
On Sat, Nov 12, 2011 at 04:18:41AM -0800, lian at ashimaresearch.com wrote:
> Ok, I meant sNx=80 in your SIZE.h<br><br><br>Yuan<br><br><span style="font-family:Prelude, Verdana, san-serif;"><br></span><span style="color:navy; font-family:Prelude, Verdana, san-serif; "><hr align="left" style="width:75%">On Nov 12, 2011 4:17 AM, lian at ashimaresearch.com <lian at ashimaresearch.com> wrote: <br></span>Try nPx=1 and sNx=40. The implementation of parallel in longitude had problems, not sure if it has some last changes though.<br><br><br>Yuan<br><span><br></span><span><hr align="left">On Nov 12, 2011 3:15 AM, Chun-Yan Zhou <c.zhou at dundee.ac.uk> wrote: <br></span>
>
>
>
>
> <p>
> <font size="2" face="Dialog">Hi Gus,</font> </p>
> <p>
> <font size="2" face="Dialog"> Yes, it is the 'SIZE.h' file, type mistake. Any other idea?</font> </p>
> <p>
> <font size="2" face="Dialog"> chunyan</font> </p>
> <p>
> <br>
> <br>
> ---------------------------------------------------------------------- </p>
> <p>
> <br>
> <font size="2" face="Dialog">Did you call the file "size.h" as your email says?</font> </p>
> <p>
> <font size="2" face="Dialog">I think the file "Size.h" is what is compiled.</font> </p>
> <p>
> <font size="2" face="Dialog">Note, the name starts with an upper case "S".</font> </p>
> <br>
> <p>
> <font size="2" face="Dialog">Yes nPx * nPy should be equal to the number of processors in your mpirun command.</font> </p>
> <br>
> <p>
> <font size="2" face="Dialog">Gus Correa</font> </p>
> <br>
> <p>
> <br>
> <br>
> <br>
> ----------------------------------------------------------------------<br><br>Message: 1<br>Date: Fri, 11 Nov 2011 17:51:38 +0000<br>From: "Chun-Yan Zhou" <c.zhou at dundee.ac.uk><br>To: <mitgcm-support at mitgcm.org><br>Subject: [MITgcm-support] Problem with parallel build: No. of<br>processes not equal to nPx*nPy<br>Message-ID: <4EBD60AA0200003200009B2C at ia-gw-6.dundee.ac.uk><br>Content-Type: text/plain; charset="us-ascii"<br><br><br>Hi Martin and Gustavo,<br>I took Martin's first solution to add the 'libmpi_f77.so' to <br><br> LD_LIBRARY_PATH setup in my .bash_profile. It worked! finally! But another funny error occurred.<br> <br><br>S/R EEBOOT_MINIMAL: No. of processes not equal to nPx*nPy 1 4<br>STOP ABNORMAL END: PROGRAM MAIN<br><br>In this message i believe the first column (1) is how many processors the code recognizes it <br>should run.<br>The second column (4) is the number of procs i request in my mpi command<br>on . Correct?<br><br>I noticed that same error happened 2009 <a href="http://mitgcm.org/pipermail/mitgcm-support/2009-April/006011.html">http://mitgcm.org/pipermail/mitgcm-support/2009-April/006011.html</a><br>But I didn't see a solution there except for the genmake2 change. Any idea about the problem?<br> <br>I also tried to delete the file Size.h_mpi and CPP_EEOPTIONS.h_mpi, still got the same error message.<br>The size.h is as follows.<br><br> INTEGER sNx<br> INTEGER sNy<br> INTEGER OLx<br> INTEGER OLy<br> INTEGER nSx<br> INTEGER nSy<br> INTEGER nPx<br> INTEGER nPy<br> INTEGER Nx<br> INTEGER Ny<br> INTEGER Nr<br> PARAMETER (<br> & sNx = 40,<br> & sNy = 21,<br> & OLx = 3,<br> & OLy = 3,<br> & nSx = 1,<br> & nSy = 1,<br> & nPx = 2,<br> & nPy = 2,<br> & Nx = sNx*nSx*nPx,<br> & Ny = sNy*nSy*nPy,<br> & Nr = 8)<br><br>C MAX_OLX :: Set to the maximum overlap region size of any array<br>C MAX_OLY that will be exchanged. Controls the sizing of exch<br>C routine buffers.<br> INTEGER MAX_OLX<br> INTEGER MAX_OLY<br> PARAMETER ( MAX_OLX = OLx,<br> & MAX_OLY = OLy ) <br><br><br>BTW, Gustavo, you are right. The MPI_INC_DIR is a *direction*,so I just add the line<br>MPI_INC_DIR=/usr/include/openmpi-x86_64 in my case. <br><br>Best wishes!<br>chunyan<br><br>
> </p>
> <br>
>
> <p>
> The University of Dundee is a registered Scottish charity, No: SC015096
> </p>
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
More information about the MITgcm-support
mailing list