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.
Note also that these are the versions of the *standard*, not the version of a particular implementation. I agree with never using the version of an implementation for the points you raise, but I don't believe that this applies to the version of a standard. (E.g., I'd never recommend using the MPICH version as a test.) Bill On Jul 29, 2011, at 5:36 PM, Jed Brown wrote: > On Fri, Jul 29, 2011 at 09:44, Gropp, William D > <wgropp at illinois.edu> wrote: > Much better would be to use the MPI macros introduced to deal with > exactly this problem. > > Are you just referring to the MPI_VERSION/MPI_SUBVERSION macros or > is there a macro that specifically indicates the availability of > MPI_Exscan()? (I haven't seen any such macro in MPICH2 or OMPI.) > > We have avoided using versions for compiler/library feature checks > because version numbers are not self-documenting and because it only > takes one implementer mistake to make the versions useless. On the > other hand, all the feature tests make configure slow, but hopefully > that will be mostly resolved once we get parallel configure working. 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110731/604b6e00/attachment.html>
