Nope - this error check is not complete - i.e does not cover all MPI impls. Is that possible - or desirable? I don't know.
Currently it does it for MPICH and openMPI. [and the MPICH check should cover all all derivatives that are likely to use MPICH_NUMVERSION - eventhough they will be tagged as MPICH in the error message - as you've noticed] So my patch tries to separate out mvapich check from mpich check. Perhaps there is a better way to check all MPICH derivatives [that have both MPICH_NUMVERSION and pkg_NUMVERSION] without duplicating code all over the place.. Satish On Tue, 25 Apr 2017, Kong, Fande wrote: > Thanks, Satish, > > 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? > > Fande, > > On Tue, Apr 25, 2017 at 4:03 PM, Satish Balay <ba...@mcs.anl.gov> wrote: > > > Added this patch to balay/add-mvapich-version-check > > > > Satish > > > > On Tue, 25 Apr 2017, Satish Balay wrote: > > > > > You can try the attached [untested] patch. It replicates the > > > MPICH_NUMVERSION code and replaces it with MVAPICH2_NUMVERSION > > > > > > Satish > > > > > > On Tue, 25 Apr 2017, Kong, Fande wrote: > > > > > > > On Tue, Apr 25, 2017 at 3:42 PM, Barry Smith <bsm...@mcs.anl.gov> > > wrote: > > > > > > > > > > > > > > The error message is generated based on the macro MPICH_NUMVERSION > > > > > contained in the mpi.h file. > > > > > > > > > > Apparently MVAPICH also provides this macro, hence PETSc has no way > > to > > > > > know that it is not MPICH. > > > > > > > > > > If you can locate in the MVAPICH mpi.h include files macros related > > > > > explicitly to MVAPICH then we could possibly use that macro to > > provide a > > > > > more specific error message. > > > > > > > > > > > > > > > > > There is also a macro: MVAPICH2_NUMVERSION in mpi.h. We might use it to > > > > have a right message. > > > > > > > > Looks possible for me. > > > > > > > > Fande, > > > > > > > > > > > > > > > > > > > > > > Barry > > > > > > > > > > > > > > > > On Apr 25, 2017, at 4:35 PM, Kong, Fande <fande.k...@inl.gov> > > wrote: > > > > > > > > > > > > Hi, > > > > > > > > > > > > We configured PETSc with a version of MVAPICH, and complied with > > another > > > > > version of MVAPICH. Got the error messages: > > > > > > > > > > > > error "PETSc was configured with one MPICH mpi.h version but now > > appears > > > > > to be compiling using a different MPICH mpi.h version" > > > > > > > > > > > > > > > > > > Why we could not say something about "MVAPICH" (not "MPICH")? > > > > > > > > > > > > Do we just simply consider all MPI implementations (MVAPICH, maybe > > Intel > > > > > MPI, IBM mpi?) based on MPICH as "MPICH"? > > > > > > > > > > > > Fande, > > > > > > > > > > > > > > > > > > > > > >