The safest thing for scoreP (and *any* MPI application/middleware) is to not 
wholly rely on the MPI_VERSION macros.

>From a theoretical sense, the MPI_VERSION macro should be sufficient.  

But in reality, the upgrade of an MPI implementation to support all of MPI-3 is 
a gradual thing and takes time.  Hence, OMPI 1.7.4 supports *part* of MPI-3, 
but not all of it.  There's simply no way to indicate this "partial MPI-3 
support" with the simplistic MPI_VERSION macro -- that macro is pretty much an 
all-or-nothing value. Which simply doesn't reflect reality.  Sorry.  :-\

If it helps, you might try an OMPI 1.7.5rc (I'm due to make rc2 later this 
afternoon).  1.7.5 should be full MPI-3 compliant -- if there are any const's 
missing, those are bugs.

That being said, to fully support OMPI 1.7.4, more fine-grained configure 
checks for const will likely be required.

(keep in mind that this same thing is going to happen for MPI 3.1, MPI 4.0, 
...etc.)




On Mar 11, 2014, at 1:14 PM, Orion Poplawski <or...@cora.nwra.com> wrote:

> FYI -
> 
>  Looks like the mix of MPI 3 compliant and older declarations is causing a 
> bit of an issue for Score-P support.  The current Score-P code bases adding 
> the const qualifiers on MPI_VERSION >= 3.  But openmpi 1.7.4 is still 
> MPI_VERSION 2 (SUB 2).  If I change scorep to add the const qualifiers for 
> openmpi 1.7.4, then it has trouble with some different routines that are 
> missing the const qualifiers, for example MPI_Address and MPI_Info_set.  It's 
> tough to support a mix like this.
> 
> - Orion
> 
> -------- Original Message --------
> Subject: Re: [Score-P support] Compile errors of Fedora rawhide
> Date: Tue, 11 Mar 2014 14:16:46 +0100
> From: Daniel Lorenz <d.lor...@grs-sim.de>
> To: Orion Poplawski <or...@cora.nwra.com>
> CC: Score-P Support <supp...@score-p.org>
> 
> Hi,
> 
> I can reproduce the results with openmpi 1.7.4. It seems that openmpi 1.7.4 
> added const qualifiers to some MPI function parameters which cause this 
> error. For MPI 3 many function arguments get such a const qualifier, and 
> openmpi 1.7.4 added some MPI 3 features. However, not all function signatures 
> in openmpi 1.7.4 are changed to the MPI 3 standard. Thus, there is a mixture 
> of MPI 2 compliant functions and MPI 3 compliant functions.  To support such 
> mixtures we need to add a couple of additional checks. If you want to use the 
> current Score-P with openmpi 1.7.4, the easiest workaround you could try is 
> to build Score-P with the mpi.h header from openmpi 1.7.3. However there is 
> no guarantee that it works. Another option is to adapt the Score-P MPI 
> function wrapper signatures to the openmpi 1.7.4.
> 
> Regards,
> Daniel
> 
> On 11 Mar 2014, at 03:35, Orion Poplawski <or...@cora.nwra.com> wrote:
> 
>> scorep 1.2.3 is compiling fine on Fedora 20, but failing on Fedora
>> Rawhide during the openmpi build.  Full build log is here:
>> http://kojipkgs.fedoraproject.org//work/tasks/191/6620191/build.log
>> 
>> errors are like:
>> 
>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Cg.c:334:1: error:
>> conflicting types for 'MPI_Group_excl'
>> MPI_Group_excl( MPI_Group group, int n, SCOREP_MPI_CONST_DECL int*
>> ranks, MPI_Group* newgroup )
>> ^
>> In file included from ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi.h:32:0,
>>                from
>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Cg.c:44:
>> /usr/include/openmpi-i386/mpi.h:1451:20: note: previous declaration of
>> 'MPI_Group_excl' was here
>> OMPI_DECLSPEC  int MPI_Group_excl(MPI_Group group, int n, const int
>> ranks[],
>>                   ^
>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Cg.c:371:1: error:
>> conflicting types for 'MPI_Group_incl'
>> MPI_Group_incl( MPI_Group group, int n, SCOREP_MPI_CONST_DECL int*
>> ranks, MPI_Group* newgroup )
>> ^
>> In file included from ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi.h:32:0,
>>                from
>> ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Cg.c:44:
>> /usr/include/openmpi-i386/mpi.h:1455:20: note: previous declaration of
>> 'MPI_Group_incl' was here
>> OMPI_DECLSPEC  int MPI_Group_incl(MPI_Group group, int n, const int
>> ranks[],
>>                   ^
>> 
>> one difference is openmpi 1.7.4 instead of 1.7.3.  Let me know what else
>> I can provide.
>> 
>> - Orion
>> 
>> --
>> Orion Poplawski
>> Technical Manager                     303-415-9701 x222
>> NWRA/CoRA Division                    FAX: 303-415-9702
>> 3380 Mitchell Lane                  or...@cora.nwra.com
>> Boulder, CO 80301              http://www.cora.nwra.com
>> _______________________________________________
>> Support mailing list for Score-P
>> supp...@score-p.org
>> https://mailman.zih.tu-dresden.de/groups/listinfo/scorep-support
> 
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2014/03/14320.php


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to