Yes, in this case, you'd miss the availability of MPI_Exscan. The issue is partly one of trading flexibilty/ubiquity against reasonable expectations and code clarity. I believe distinguishing between MPI 1 and MPI 2 (or MPI 3) makes sense; historically, checking for MPI-IO also made sense (and checking for Fortran might also).
The MPI Forum wants to avoid the situation where there is a good reason to check for each individual routine; that's one reason why various subset approaches have not received much support. I'll also note that the GNU autoconf tests for libraries are designed around testing for a single function that the library should contain, rather than the full set of routines that are expected; this is an implicit acceptance of the library and its API as the testable unit, rather than the individual collection of routines, and I believe represents a compromise between maximum flexibility and code and design clarity. Bill On Aug 1, 2011, at 8:56 PM, Lisandro Dalcin wrote: > On 31 July 2011 14:34, William Gropp <wgropp at illinois.edu> 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 William Gropp Director, Parallel Computing Institute Deputy Director for Research Institute for Advanced Computing Applications and Technologies Paul and Cynthia Saylor Professor of Computer Science University of Illinois Urbana-Champaign
