<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I'm referring to the MPI_VERSION and MPI_SUBVERSION.  <div><br></div><div>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.  </div><div><br></div><div>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.)</div><div><br></div><div>Bill</div><div><br><div><div>On Jul 29, 2011, at 5:36 PM, Jed Brown wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div class="gmail_quote">On Fri, Jul 29, 2011 at 09:44, Gropp, William D <span dir="ltr"><<a href="mailto:wgropp@illinois.edu">wgropp@illinois.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> Much better would be to use the MPI macros introduced to deal with exactly this problem.</blockquote></div><br><div>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.)</div> <div><br></div><div>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.</div></blockquote></div><br><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="font-size: 12px; ">William Gropp</div><div style="font-size: 12px; ">Director, Parallel Computing Institute</div><div style="font-size: 12px; ">Deputy Director for Research</div><div style="font-size: 12px; ">Institute for Advanced Computing Applications and Technologies</div><div style="font-size: 12px; ">Paul and Cynthia Saylor Professor of Computer Science</div><div style="font-size: 12px; ">University of Illinois Urbana-Champaign</div></div><div><br></div></div></span><br class="Apple-interchange-newline"> </div><br></div></body></html>