Lisandro raises an interesting point. I just checked the MPI_VERSION defined on the currently released IBM BlueGene/P driver, and I was surprised to see 2.1 defined, given that the BlueGene doesn't support dynamic process control (though I guess otherwise it is basically a full MPI-2), from the developer's guide: "The implementation of MPI on the Blue Gene/P system is the MPICH2 standard that was developed by Argonne National Labs. For more information about MPICH2, see the Message Passing Interface (MPI) standard Web site at: http://www-unix.mcs.anl.gov/mpi/ A function of the MPI-2 standard that is not supported by Blue Gene/P is dynamic process management (creating new MPI processes).16 However, the various thread modes are supported". I think this is worth considering carefully as MPI-3 is approved and we start to see vendor implementations of some of its cooler features show up on our systems. Perhaps in addition to version numbers specific 'features' could be macro-defined by the standard: MPI_HAS_EXSCAN, etc...? This might be a reasonable compromise between the two approaches. A On Tue, Aug 2, 2011 at 4:56 AM, Lisandro Dalcin <[email protected]> wrote:
On 31 July 2011 14:34, William Gropp <[email protected]> wrote:
I'm referring to the MPI_VERSION and MPI_SUBVERSION. I'm in general a supporter of feature checks, but in the case of MPI, the documentation is very precise about the content of each version and there are comprehensive tests for MPI implementations that have ensured compliance with the spec. The MPI Forum has repeatedly rejected any MPI subset, ensuring that MPI_VERSION and MPI_SUBVERSION can be used.
So, suppose an MPI implementation advertises 1.3 compliance (by defining MPI_VERSION as 1 and MPI_SUBVERSION as 3), and implements some calls from MPI 2.0 like MPI_Exscan() ? Using the version macros would prevent PETSc to use the MPI_Exscan() available in the implementation as an extension... Or does "The MPI Forum has repeatedly rejected any MPI subset" means that such implementations are not conforming with the MPI std?
-- Lisandro Dalcin --------------- CIMEC (INTEC/CONICET-UNL) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo 3000 Santa Fe, Argentina Tel: +54-342-4511594 (ext 1011) Tel/Fax: +54-342-4511169