<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<STYLE>.hmmessage P {
        PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
BODY.hmmessage {
        FONT-FAMILY: Verdana; FONT-SIZE: 10pt
}
</STYLE>

<META name=GENERATOR content="MSHTML 8.00.6001.18854"></HEAD>
<BODY class=hmmessage>
<DIV dir=ltr align=left><SPAN class=140565308-23122009><FONT color=#0000ff 
face=Arial>Make sure there is no mpif.h file in any of the application 
directories.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=140565308-23122009><FONT color=#0000ff 
face=Arial></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=140565308-23122009><FONT color=#0000ff 
face=Arial>Rajeev</FONT></SPAN></DIV><BR>
<BLOCKQUOTE 
style="BORDER-LEFT: #0000ff 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
  <DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma><B>From:</B> mpich-discuss-bounces@mcs.anl.gov 
  [mailto:mpich-discuss-bounces@mcs.anl.gov] <B>On Behalf Of 
  </B>LSB<BR><B>Sent:</B> Wednesday, December 23, 2009 2:39 AM<BR><B>To:</B> 
  mpich-discuss@mcs.anl.gov<BR><B>Subject:</B> Re: [mpich-discuss] how to deal 
  with these errors?<BR></FONT><BR></DIV>
  <DIV></DIV>Hi Correa,<BR>&nbsp;<BR>Thank you for your reply. Meet you here 
  agian, haha<BR>I have&nbsp;reorgnized my questions, and posted it on 
  the&nbsp;CGD&nbsp;forum.<BR><BR>I&nbsp;have&nbsp;edited the related 
  directories of the MPI include files and library after you answered me through 
  the ccsm maillist. However, the "invalid communicator" is still there.&nbsp;I 
  am sure my CCSM3 Makefiles now points to MPICH2 include files and the library 
  directories are also have been changed to associate to MPICH2.&nbsp;Is there 
  any&nbsp;other reason that&nbsp;can lead to this problem?<BR>&nbsp;<BR>I said 
  that I can "run" CCSM3 by delete any one of the five components. I infact 
  meant that in this situation I can see these process names by the command 
  "top". But if I&nbsp;run all&nbsp;the five, I&nbsp;can not see these 
  process&nbsp;names with "top",&nbsp;and the error message as 
  mentioned&nbsp;before will appear.<BR>&nbsp;<BR>The resolution I use is 
  T31_gx3v5. I asked for two nodes(each node with 16G memory and 16 cpus). But 
  I&nbsp;am not sure&nbsp;whether these resources are enough for CCSM3 running 
  or not.<BR>&nbsp;<BR>Thanks for your help.<BR>&nbsp;<BR>Liu. 
  S<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&gt; Date: Tue, 22 Dec 2009 16:30:40 
  -0500<BR>&gt; From: gus@ldeo.columbia.edu<BR>&gt; To: 
  mpich-discuss@mcs.anl.gov<BR>&gt; Subject: Re: [mpich-discuss] how to deal 
  with these errors?<BR>&gt; <BR>&gt; Hi Liu<BR>&gt; <BR>&gt; As I mentioned, 
  probably to you, in the CCSM3 forum:<BR>&gt; <BR>&gt; **<BR>&gt; <BR>&gt; 
  Regarding 1),<BR>&gt; the "Invalid communicator" error is often produced by 
  the use<BR>&gt; of a wrong mpi.h or mpif.h include files, i.e.,<BR>&gt; 
  include files from another MPI that may be in your system.<BR>&gt; <BR>&gt; If 
  you search this mailing list archives, or the OpenMPI mailing list<BR>&gt; 
  archives, you will find other postings reporting this error.<BR>&gt; <BR>&gt; 
  For instance, in one of our computers here, the MPICH-1<BR>&gt; mpi.h has 
  this:<BR>&gt; <BR>&gt; #define MPI_COMM_WORLD 91<BR>&gt; <BR>&gt; whereas the 
  MPICH2 mpi.h has something else:<BR>&gt; <BR>&gt; #define MPI_COMM_WORLD 
  ((MPI_Comm)0x44000000)<BR>&gt; <BR>&gt; As you can see, eve n MPI_COMM_WORLD 
  is different on MPICH-1 and MPICH2.<BR>&gt; You cannot patch this by 
  hand.<BR>&gt; You must use the correct mpi.h/mpif.h, associated to 
  your<BR>&gt; mpicc and mpif90.<BR>&gt; <BR>&gt; You may want to compile 
  everything again fresh.<BR>&gt; Object files and modules that were built with 
  the wrong mpi.h<BR>&gt; will only cause you headaches, and the "Invalid 
  communicator"<BR>&gt; error will never go away.<BR>&gt; Get rid of them before 
  you restart.<BR>&gt; Do make clean/cleanall, or make cleandist.<BR>&gt; Even 
  better: simply start from a fresh tarball.<BR>&gt; <BR>&gt; To compile, you 
  should preferably use the MPICH2<BR>&gt; compiler wrappers mpif90 and 
  mpicc.<BR>&gt; <BR>&gt; Wherever the CCSM3 Makefiles point to MPI include 
  files,<BR>&gt; make sure the directories are those of MPICH2, not any other 
  MPI.<BR>&gt; <BR>&gt; Likewise for the MPI library directories:<BR>&gt; they 
  must be those associated to MPICH2.<BR>&gt; <BR>&gt; To save you headaches, 
  you can u se full path names to<BR>&gt; the MPICH2 mpicc and mpif90.<BR>&gt; 
  <BR>&gt; You may need to compile the ESMF library separately,<BR>&gt; as their 
  makefiles seem to be hardwired not to use the MPI compiler<BR>&gt; 
  wrappers.<BR>&gt; <BR>&gt; **<BR>&gt; <BR>&gt; As for 2), CCSM3 is an MPMD 
  program with 5 executables.<BR>&gt; It cannot work correctly if you delete one 
  of them.<BR>&gt; You actually eliminated the flux coupler, which 
  coordinates<BR>&gt; the work of all other four components.<BR>&gt; The other 
  components only talk to the coupler.<BR>&gt; Therefore, what probably 
  happens<BR>&gt; is that the other four executables are waiting<BR>&gt; forever 
  for the flux coupler to answer.<BR>&gt; <BR>&gt; **<BR>&gt; <BR>&gt; As for 
  3), besides requiring a substantial number of CPUs,<BR>&gt; CCSM3 also needs a 
  significant amount of memory.<BR>&gt; On how many nodes, and with how much 
  memory on each,<BR>&gt; are you trying to run the job?<BR>&gt; Which 
  resolution (T42, T31, T85)?<BR>&amp; gt; <BR>&gt; In any case, increasing the 
  number of processors<BR>&gt; will not solve the MPI error message of 
  1),<BR>&gt; which requires using the correct mpi.h.<BR>&gt; <BR>&gt; 
  **<BR>&gt; <BR>&gt; Only question 1) is a general MPI/MPICH question.<BR>&gt; 
  Questions 2) and 3) are specific CCSM3 issues.<BR>&gt; It may be more 
  productive to discuss them in the CCSM3 forum.<BR>&gt; <BR>&gt; In any case, 
  let's hope you can get additional help here also.<BR>&gt; <BR>&gt; **<BR>&gt; 
  <BR>&gt; I hope this helps.<BR>&gt; Gus Correa<BR>&gt; 
  ---------------------------------------------------------------------<BR>&gt; 
  Gustavo Correa<BR>&gt; Lamont-Doherty Earth Observatory - Columbia 
  University<BR>&gt; Palisades, NY, 10964-8000 - USA<BR>&gt; 
  ---------------------------------------------------------------------<BR>&gt; 
  <BR>&gt; LSB wrote:<BR>&gt; &gt; Hi everyone,<BR>&gt; &gt; <BR>&gt; &gt; I 
  want to run Community Climate System Model on our machine under <BR>&gt; &gt; 
  MPICH2. I compile d it successfully. However, I got some error message 
  <BR>&gt; &gt; about mpi during runnig it.<BR>&gt; &gt; <BR>&gt; &gt; 1) In the 
  run script, I asked for 32 cpus ( use PBS batch system). After <BR>&gt; &gt; 
  starting up mpd daemons, I wrote " <BR>&gt; &gt; 
  /mnt/storage-space/disk1/mpich/bin/mpiexec -l -n 2 $EXEROOT/all/cpl : -n 
  <BR>&gt; &gt; 2 $EXEROOT/all/csim : -n 8 $EXEROOT/all/clm : -n 4 
  $EXEROOT/all/pop : -n <BR>&gt; &gt; 16 $EXEROOT/all/cam" . <BR>&gt; &gt; The 
  process is over quite quickly after I qsub it. With error message <BR>&gt; 
  &gt; like:<BR>&gt; &gt; rank 5 in job 1 compute-0-10.local_46741 caused 
  collective abort of <BR>&gt; &gt; all ranks<BR>&gt; &gt; exit status of rank 
  5: return code 1<BR>&gt; &gt; AND<BR>&gt; &gt; 14: Fatal error in 
  MPI_Cart_shift: Invalid communicator, error stack:<BR>&gt; &gt; 14: 
  MPI_Cart_shift(172): MPI_Cart_shift(MPI_COMM_NULL, direction=1, <BR>&gt; &gt; 
  displ=1, source=0x2582aa0, dest=0x2582aa4) failed<BR>&gt; &gt; 14: 
  MPI_Cart_shif t(80).: Null communi cator<BR>&gt; &gt; 15: Fatal error in 
  MPI_Cart_shift: Invalid communicator, error stack:<BR>&gt; &gt; 15: 
  MPI_Cart_shift(172): MPI_Cart_shift(MPI_COMM_NULL, direction=1, <BR>&gt; &gt; 
  displ=1, source=0x2582aa0, dest=0x2582aa4) failed<BR>&gt; &gt; 5: Assertion 
  failed in file helper_fns.c at line 337: 0<BR>&gt; &gt; 15: 
  MPI_Cart_shift(80).: Null communicator<BR>&gt; &gt; 5: memcpy argument memory 
  ranges overlap, dst_=0xf2c37f4 src_=0xf2c37f4 <BR>&gt; &gt; len_=4<BR>&gt; 
  &gt; 9: Assertion failed in file helper_fns.c at line 337: 0<BR>&gt; &gt; 
  5:<BR>&gt; &gt; 9: memcpy argument memory ranges overlap, dst_=0x1880ce64 
  <BR>&gt; &gt; src_=0x1880ce64 len_=4<BR>&gt; &gt; 5: internal ABORT - process 
  5<BR>&gt; &gt; 9:<BR>&gt; &gt; 9: internal ABORT - process 9<BR>&gt; &gt; 4: 
  Assertion failed in file helper_fns.c at line 337: 0<BR>&gt; &gt; 4: memcpy 
  argument memory ranges overlap, dst_=0x1c9615d0 <BR>&gt; &gt; src_=0x1c9615d0 
  len_=4<BR>&gt; &gt; 4:<BR>&gt; &gt; 4: internal ABORT - process 4<BR>&gt; &gt; 
  <BR>&gt; &gt; 2) What quite puzzeled me is that if I delete any one of the 
  five (cpl, <BR>&gt; &gt; csim, clm, pop, cam ) , the model can running 
  sucsessfully. For example, <BR>&gt; &gt; delete "cpl", I wro te "<BR>&gt; &gt; 
  /mnt/storage-space/disk1/mpich/bin/mpiexec -l -n 2 $EXEROOT/all/csim : 
  <BR>&gt; &gt; -n 8 $EXEROOT/all/clm : -n 4 $EXEROOT/all/pop : -n 16 
  $EXEROOT/all/cam" <BR>&gt; &gt; will be ok.<BR>&gt; &gt; but if I run all of 
  the five at the same time, the error message as <BR>&gt; &gt; mentioned above 
  will appear.<BR>&gt; &gt; <BR>&gt; &gt; 3) If ask for a few more cpus, things 
  may become better, I guess. So I <BR>&gt; &gt; have a try . Ask for 34 cpus 
  but still use 2+2+8+4+16=32 cpus, mpi <BR>&gt; &gt; error message still 
  exists.<BR>&gt; &gt; <BR>&gt; &gt; How should I solve the problem?<BR>&gt; 
  &gt; Anyone can give some suggestions?<BR>&gt; &gt; <BR>&gt; &gt; Thanks in 
  advace!<BR>&gt; &gt; <BR>&gt; &gt; <BR>&gt; &gt; L. S<BR>&gt; &gt; <BR>&gt; 
  _______________________________________________<BR>&gt; mpich-discuss mailing 
  list<BR>&gt; mpich-discuss@mcs.anl.gov<BR>&gt; 
  https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss<BR><BR>
  <HR>
  更多热辣资讯尽在新版MSN首页! <A href="http://cn.msn.com/" target=_new>立刻访问!</A> 
</BLOCKQUOTE></BODY></HTML>