[petsc-dev] MPI_Exscan

William Gropp wgropp at illinois.edu
Sun Jul 31 12:34:31 CDT 2011

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.)


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>

More information about the petsc-dev mailing list