[mpich-discuss] Building MPE for use with OpenMPI
Jeff Hammond
jeff.science at gmail.com
Tue Dec 1 22:42:08 CST 2015
Ok, I didn't understand your issue before. I thought your issue was with
MPICH not agreeing with OpenMPI. That needed to be fixed anyways, so it's
good that your query prompted it, but I'm sorry it wasn't what you needed.
MPE already has MPE_CONST, but it will be "const" whenever MPI_VERSION>=3,
which is what late-model MPICH will give you. The solution is probably to
the logic below to allow for manual override, rather than OR-ing on
MPI_VERSION, which cannot be overridden.
#if defined(HAVE_CONST_IN_MPI_DECL) || MPI_VERSION >= 3
#define MPE_CONST const
#else
#define MPE_CONST
#endif
I'll try to work up a patch later.
As for configure, the documentation is rightly written for the user who
downloads a release tarball, not the git repo. So yes, you should generate
it with autogen.sh.
Jeff
On Tue, Dec 1, 2015 at 7:04 PM, Schilling, Herbert W. (GRC-VE00) <
hschilling at nasa.gov> wrote:
>
> Hi Jeff,
>
> Thanks. Unfortunately, that is basically the same source code from
>
> ftp://ftp.mcs.anl.gov/pub/mpi/mpe/mpe2.tar.gz
>
> where I had the issues with the conflicting declarations as Pavan talked
about.
>
> I could remove the deprecated routines as most of the problems are caused
by them, but it looks like some non-deprecated routines also have the const
issue, e.g.
>
> visual_mess.c:560: error: conflicting types for 'MPI_Issend'
> /u/hschilli/local/include/mpi.h:1543: error: previous declaration of
'MPI_Issend' was here
>
>
> BTW, that repo for MPE doesn't appear to have a configure file. I know I
could create it with autogen.sh but the INSTALL file doesn't say that. It
just says run configure. Might be confusing for some people, I think!
>
> Thanks for everyone's help
>
>
>
>
>
> On Dec 1, 2015, at 2:03 PM, Jeff Hammond <jeff.science at gmail.com>
> wrote:
>
> MPE lives here now: http://git.mpich.org/mpe.git/
>
> Jeff
>
> On Tue, Dec 1, 2015 at 10:15 AM, Schilling, Herbert W. (GRC-VE00) <
hschilling at nasa.gov> wrote:
>>
>> Hi Jeff,
>>
>> Thanks. Pardon my ignorance but I I wanted to just use MPE with an
existing OpenMPI installation and it's not clear to me ( even after
searching and reading ), how to do that from the full MPICH code base at
that repo. I can't really even find MPE in that code at all. What am I
missing?
>>
>> Thanks
>>
>> On Dec 1, 2015, at 10:03 AM, Jeff Hammond <jeff.science at gmail.com>
>> wrote:
>>
>> Herbert:
>>
>> Please try
https://github.com/jeffhammond/mpich/tree/hammond-mpi2-deprecated-functions-noconst
and let me know if you see any problems.
>>
>> Best,
>>
>> Jeff
>>
>> On Tue, Dec 1, 2015 at 5:46 AM, Schilling, Herbert W. (GRC-VE00) <
hschilling at nasa.gov> wrote:
>>>
>>> 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>
>>> 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> 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>
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>
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> 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
>>>> > >
>>>> > >
>>>> > >
>>>> > >
>>>> > > _______________________________________________
>>>> > > discuss mailing list discuss at mpich.org
>>>> > > To manage subscription options or unsubscribe:
>>>> > > https://lists.mpich.org/mailman/listinfo/discuss
>>>> >
>>>> > _______________________________________________
>>>> > discuss mailing list discuss at mpich.org
>>>> > To manage subscription options or unsubscribe:
>>>> > https://lists.mpich.org/mailman/listinfo/discuss
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Jeff Hammond
>>>> > jeff.science at gmail.com
>>>> > http://jeffhammond.github.io/
>>>> > _______________________________________________
>>>> > discuss mailing list discuss at mpich.org
>>>> > To manage subscription options or unsubscribe:
>>>> > https://lists.mpich.org/mailman/listinfo/discuss
>>>>
>>>> _______________________________________________
>>>> discuss mailing list discuss at mpich.org
>>>> To manage subscription options or unsubscribe:
>>>> https://lists.mpich.org/mailman/listinfo/discuss
>>>
>>>
>>>
>>>
>>> --
>>> Jeff Hammond
>>> jeff.science at gmail.com
>>> http://jeffhammond.github.io/
>>> _______________________________________________
>>> discuss mailing list 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
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> discuss mailing list discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>>
>>
>>
>>
>> --
>> Jeff Hammond
>> jeff.science at gmail.com
>> http://jeffhammond.github.io/
>> _______________________________________________
>> discuss mailing list 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
>>
>>
>>
>>
>>
>> _______________________________________________
>> discuss mailing list discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
>
>
>
>
> --
> Jeff Hammond
> jeff.science at gmail.com
> http://jeffhammond.github.io/
> _______________________________________________
> discuss mailing list 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
>
>
>
>
>
> _______________________________________________
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
--
Jeff Hammond
jeff.science at gmail.com
http://jeffhammond.github.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20151201/13bb1375/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