[mpich-discuss] Building MPE for use with OpenMPI

Schilling, Herbert W. (GRC-VE00) hschilling at nasa.gov
Tue Dec 1 07:46:40 CST 2015


Hi Jeff and Pavan,

 Thanks for all the help on this.  Jeff, when you have the fix up there, I can give it a shot!


On Dec 1, 2015, at 1:15 AM, Jeff Hammond <jeff.science at gmail.com<mailto:jeff.science at gmail.com>>
 wrote:

Facepalm.  Indeed, changing the header but not the implementation was pretty dumb on my part.  I'll fix that tomorrow.

I have no opinion on the ABI situation, particularly since I know there are other folks that Intel that do.

Jeff

On Mon, Nov 30, 2015 at 9:00 PM, Balaji, Pavan <balaji at anl.gov<mailto:balaji at anl.gov>> wrote:

Thanks, Jeff.  The actual function definitions should be modified as well, which your patch seems to miss.

But I think the potentially time consuming part is to get buy-in from all the ABI consortium folks for this change.  It doesn't exactly break ABI for applications, but will be an annoying change for tools.  Ken is looking into this.

  -- Pavan

> On Nov 30, 2015, at 10:54 PM, Jeff Hammond <jeff.science at gmail.com<mailto:jeff.science at gmail.com>> wrote:
>
> Pavan:
>
> See hammond-mpi2-deprecated-functions-noconst branch on mpich-review.  I found three functions where this change should be made.  I do not know if that is the full list, so someone should verify.
>
> Best,
>
> Jeff
>
> On Mon, Nov 30, 2015 at 8:08 PM, Balaji, Pavan <balaji at anl.gov<mailto:balaji at anl.gov>> wrote:
>
> MPI_Type_struct is not a part of the MPI standard anymore and is replaced by MPI_Type_create_struct.  Both MPICH and Open MPI decided to retain it, but followed different directions for it.  MPICH decided to follow the same convention as MPI_Type_create_struct with the const additions.  Open MPI decided to keep the old prototypes as is.
>
> Unfortunately, MPE got stuck in between the two.  The best approach would be to simply remove those functions from MPE and this problem just goes away.  Would you be able to do that and contribute a patch?
>
> More generally, I think MPICH was overzealous in trying to constify prototypes for the deleted functions.  It should have just left them as they are, like what Open MPI did.  We'll figure out what to do about that internally, but that's not going to be a quick change because of ABI and other such stuff.
>
> Thanks,
>
>   -- Pavan
>
> > On Nov 30, 2015, at 8:14 PM, Schilling, Herbert W. (GRC-VE00) <hschilling at nasa.gov<mailto:hschilling at nasa.gov>> wrote:
> >
> > Hi,
> >
> >  I am trying to build MPE for use with OpenMPI. I built from source Version 1.10.1 of OpenMPI.
> >
> >  I am using this version of MPE ftp://ftp.mcs.anl.gov/pub/mpi/mpe/mpe2.tar.gz
> >
> >  Should this work fine? I followed the instructions to build like this:
> >
> >     ${MPE_SRC_DIR}/configure MPI_CC=${OPENMPI_INSTALL_DIR}/bin/mpicc \
> >                             CC=<C_COMPILER_used_to_build_OpenMPI> \
> >                             MPI_F77=${OPENMPI_INSTALL_DIR}/bin/mpif77 \
> >                             F77=<FORTRAN_COMPILER_used_to_build_OpenMPI> \
> >                             --with-java2=/usr/local/j2sdk-1.4.2
> >                             --prefix=<MPE_INSTALL_DIR>
> >    make
> >    make install
> >
> >
> >
> >
> > I keep running into problems with conflicting declarations
> >
> >
> >  log_mpi_core.c:5611: error: conflicting types for 'MPI_Type_struct'
> >  /u/hschilli/local/include/mpi.h:1796: error: previous declaration of 'MPI_Type_struct' was here
> >
> >
> > I think the issue is that MPE's declaration uses some const qualifiers while OpenMPI does not.
> >
> >
> >
> > I tried hacking my way through this with the macro
> >
> > HAVE_CONST_IN_MPI_DECL
> >  and MPE_CONST but no luck so far.
> >
> >
> >
> > What am I doing wrong?
> >
> >
> > Thanks in advance.
> >
> > ---------
> > Herb Schilling
> > Scientific Applications and Visualization Team
> > http://ocio.grc.nasa.gov/gvis
> > Office of the Chief Information Officer
> > NASA Glenn Research Center
> > hschilling at nasa.gov<mailto:hschilling at nasa.gov>
> >
> >
> >
> >
> > _______________________________________________
> > discuss mailing list     discuss at mpich.org<mailto:discuss at mpich.org>
> > To manage subscription options or unsubscribe:
> > https://lists.mpich.org/mailman/listinfo/discuss
>
> _______________________________________________
> discuss mailing list     discuss at mpich.org<mailto:discuss at mpich.org>
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
>
>
>
> --
> Jeff Hammond
> jeff.science at gmail.com<mailto:jeff.science at gmail.com>
> http://jeffhammond.github.io/
> _______________________________________________
> discuss mailing list     discuss at mpich.org<mailto:discuss at mpich.org>
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss

_______________________________________________
discuss mailing list     discuss at mpich.org<mailto:discuss at mpich.org>
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss



--
Jeff Hammond
jeff.science at gmail.com<mailto:jeff.science at gmail.com>
http://jeffhammond.github.io/
_______________________________________________
discuss mailing list     discuss at mpich.org<mailto:discuss at mpich.org>
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss

---------
Herb Schilling
Scientific Applications and Visualization Team
http://ocio.grc.nasa.gov/gvis
Office of the Chief Information Officer
NASA Glenn Research Center
hschilling at nasa.gov<mailto:hschilling at nasa.gov>




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20151201/803a7bc2/attachment.html>
-------------- next part --------------
_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list