<div dir="ltr"><div><div>Thanks, Barry and Satish,<br><br></div>It makes sense.<br><br></div>Fande,<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 25, 2017 at 4:33 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> On Apr 25, 2017, at 5:08 PM, Kong, Fande <<a href="mailto:fande.kong@inl.gov">fande.kong@inl.gov</a>> wrote:<br>
><br>
> Thanks, Satish,<br>
><br>
> One more question: will petsc complain different versions of other implementations such as intel MPI and IBM MPI? For example, configure with a version of intel MPI, and compile with another version of intel MPI. Do we have error messages on this?<br>
<br>
</span> The compile time checking is in include/petscsys.h so you can easily see what we do do. As Satish says we can try to add more cases one at a time if we know unique macros used in particular mpi.h but with many cases the code will become messy unless there is a pattern we can organize around.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
><br>
> Fande,<br>
><br>
> On Tue, Apr 25, 2017 at 4:03 PM, Satish Balay <<a href="mailto:balay@mcs.anl.gov">balay@mcs.anl.gov</a>> wrote:<br>
> Added this patch to balay/add-mvapich-version-<wbr>check<br>
><br>
> Satish<br>
><br>
> On Tue, 25 Apr 2017, Satish Balay wrote:<br>
><br>
> > You can try the attached [untested] patch. It replicates the<br>
> > MPICH_NUMVERSION code and replaces it with MVAPICH2_NUMVERSION<br>
> ><br>
> > Satish<br>
> ><br>
> > On Tue, 25 Apr 2017, Kong, Fande wrote:<br>
> ><br>
> > > On Tue, Apr 25, 2017 at 3:42 PM, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
> > ><br>
> > > ><br>
> > > > The error message is generated based on the macro MPICH_NUMVERSION<br>
> > > > contained in the mpi.h file.<br>
> > > ><br>
> > > > Apparently MVAPICH also provides this macro, hence PETSc has no way to<br>
> > > > know that it is not MPICH.<br>
> > > ><br>
> > > > If you can locate in the MVAPICH mpi.h include files macros related<br>
> > > > explicitly to MVAPICH then we could possibly use that macro to provide a<br>
> > > > more specific error message.<br>
> > > ><br>
> > ><br>
> > ><br>
> > > There is also a macro: MVAPICH2_NUMVERSION in mpi.h. We might use it to<br>
> > > have a right message.<br>
> > ><br>
> > > Looks possible for me.<br>
> > ><br>
> > > Fande,<br>
> > ><br>
> > ><br>
> > ><br>
> > > ><br>
> > > > Barry<br>
> > > ><br>
> > > ><br>
> > > > > On Apr 25, 2017, at 4:35 PM, Kong, Fande <<a href="mailto:fande.kong@inl.gov">fande.kong@inl.gov</a>> wrote:<br>
> > > > ><br>
> > > > > Hi,<br>
> > > > ><br>
> > > > > We configured PETSc with a version of MVAPICH, and complied with another<br>
> > > > version of MVAPICH. Got the error messages:<br>
> > > > ><br>
> > > > > error "PETSc was configured with one MPICH mpi.h version but now appears<br>
> > > > to be compiling using a different MPICH mpi.h version"<br>
> > > > ><br>
> > > > ><br>
> > > > > Why we could not say something about "MVAPICH" (not "MPICH")?<br>
> > > > ><br>
> > > > > Do we just simply consider all MPI implementations (MVAPICH, maybe Intel<br>
> > > > MPI, IBM mpi?) based on MPICH as "MPICH"?<br>
> > > > ><br>
> > > > > Fande,<br>
> > > ><br>
> > > ><br>
> > ><br>
> ><br>
><br>
><br>
<br>
</div></div></blockquote></div><br></div>