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
think?
Nick.
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.