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 <[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
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
participants (1)
-
William Gropp