On 03/11/2014 11:30 AM, Jeff Squyres (jsquyres) wrote:
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.


Thanks for the help.  However, with 1.7.5rc2 I'm still seeing:

../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Misc.c:64:1: error: conflicting types for 'MPI_Address'
 MPI_Address( SCOREP_MPI_CONST_DECL void* location, MPI_Aint* address )
 ^
In file included from ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi.h:32:0,
                 from ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Misc.c:45:
/usr/include/openmpi-x86_64/mpi.h:1176:44: note: previous declaration of 'MPI_Address' was here
 OMPI_DECLSPEC  int MPI_Address(void *location, MPI_Aint *address)
                                            ^
../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Misc.c:651:1: error: conflicting types for 'MPI_Info_set' MPI_Info_set( MPI_Info info, SCOREP_MPI_CONST_DECL char* key, SCOREP_MPI_CONST_DECL char* value )
 ^
In file included from ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi.h:32:0,
                 from ../../build-mpi/../src/adapters/mpi/SCOREP_Mpi_Misc.c:45:
/usr/include/openmpi-x86_64/mpi.h:1512:44: note: previous declaration of 'MPI_Info_set' was here
 OMPI_DECLSPEC  int MPI_Info_set(MPI_Info info, char *key, char *value);
                                            ^
The MPI-3 spec seems to side with Score-P here for MPI_Info_set. I couldn't find a definition for MPI_Address in the MPI-3 spec. Mpich appears to delare it const void *location.


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

At this point I'm hoping to just skip 1.7.4 and move to 1.7.5.

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

Yup.

- Orion





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




--
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       or...@nwra.com
Boulder, CO 80301                   http://www.nwra.com

Reply via email to