[MITgcm-support] Problem with parallel build: No. of processes not equal to nPx*nPy

Chun-Yan Zhou c.zhou at dundee.ac.uk
Sat Nov 12 06:14:23 EST 2011


Hi Gus, 
 Yes, it is the 'SIZE.h' file, type mistake. Any other idea? 
 chunyan 


---------------------------------------------------------------------- 

Did you call the file "size.h" as your email says? 
I think the file "Size.h" is what is compiled. 
Note, the name starts with an upper case "S". 

Yes nPx * nPy should be equal to the number of processors in your mpirun command. 

Gus Correa 




----------------------------------------------------------------------

Message: 1
Date: Fri, 11 Nov 2011 17:51:38 +0000
From: "Chun-Yan Zhou" <c.zhou at dundee.ac.uk>
To: <mitgcm-support at mitgcm.org>
Subject: [MITgcm-support] Problem with parallel build: No. of
processes not equal to nPx*nPy
Message-ID: <4EBD60AA0200003200009B2C at ia-gw-6.dundee.ac.uk>
Content-Type: text/plain; charset="us-ascii"


Hi Martin and Gustavo,
I took Martin's first solution to add the  'libmpi_f77.so' to 

    LD_LIBRARY_PATH setup in my .bash_profile. It worked! finally! But another funny error occurred.
 

S/R EEBOOT_MINIMAL: No. of processes not equal to nPx*nPy     1     4
STOP ABNORMAL END: PROGRAM MAIN

In this message i believe the first column (1)  is how many processors the code recognizes it  
should run.
The second column (4)  is the number  of procs i request in my mpi command
on . Correct?

I noticed that same error happened 2009 http://mitgcm.org/pipermail/mitgcm-support/2009-April/006011.html
But I didn't see a solution there except for the genmake2 change. Any idea about the problem?
 
I also tried to delete the file Size.h_mpi and CPP_EEOPTIONS.h_mpi, still got the same error message.
The size.h is as follows.

      INTEGER sNx
      INTEGER sNy
      INTEGER OLx
      INTEGER OLy
      INTEGER nSx
      INTEGER nSy
      INTEGER nPx
      INTEGER nPy
      INTEGER Nx
      INTEGER Ny
      INTEGER Nr
      PARAMETER (
     &           sNx =  40,
     &           sNy =  21,
     &           OLx =   3,
     &           OLy =   3,
     &           nSx =   1,
     &           nSy =   1,
     &           nPx =   2,
     &           nPy =   2,
     &           Nx  = sNx*nSx*nPx,
     &           Ny  = sNy*nSy*nPy,
     &           Nr  =   8)

C     MAX_OLX :: Set to the maximum overlap region size of any array
C     MAX_OLY    that will be exchanged. Controls the sizing of exch
C                routine buffers.
      INTEGER MAX_OLX
      INTEGER MAX_OLY
      PARAMETER ( MAX_OLX = OLx,
     &            MAX_OLY = OLy ) 


BTW, Gustavo, you are right. The MPI_INC_DIR is a *direction*,so I just add the line
MPI_INC_DIR=/usr/include/openmpi-x86_64              in my case. 

Best wishes!
chunyan


The University of Dundee is a registered Scottish charity, No: SC015096
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20111112/1f398eea/attachment-0001.htm>


More information about the MITgcm-support mailing list