I think we can just look at OPEN_MPI as you say and then
OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION & OMPI_RELEASE_VERSION
from mpi.h and if version is less than 1.2.9 implement a work around as
Antony suggested. Its not the most elegant solution but it will work I
Jeff Squyres wrote:
> On Dec 5, 2008, at 10:55 AM, David Skinner wrote:
>>> FWIW, if that one-liner fix works (George and I just chatted about this
>>> on the phone), we can probably also push it into v1.2.9.
>> great! thanks.
> It occurs to me that this is likely not going to be enough for you,
> though. :-\
> Like it or not, there's still installed OMPI's out there that will show
> this old behavior. Do you need to know / adapt for those? If so, I can
> see two ways of you figuring it out:
> 1. At run time, do a simple call to (Fortran) MPI_INITIALIZED and see if
> you intercept it twice (both in Fortran and in C).
> 2. If that's not attractive, we can probably add a line into the
> ompi_info output that you can grep for when using OMPI (you can look for
> the OPEN_MPI macro from our <mpi.h> to know if it's Open MPI or not).
> Specifically, this line can be there for the "fixed" versions, and it
> simply won't be there for non-fixed versions.