<div dir="ltr"><div>No, it's really not better to keep it.  MPI 2.2 support is ubiquitous.  It has been 10 years, which is 1-2 lifetimes of an HPC system or PC.  Anybody who insists on using an MPI library that doesn't support 2.2 should accept that they must use a version of PETSc from 2018 or earlier.</div><div><br></div><div>In the HPC space, MPI 3.0 has been available on most machines for 5+ years.  The last platform that I used that didn't have MPI 2.2 support was IBM Blue Gene/P and all of those machines were taken offline long ago.  As of SC18, the MPI 3.1 support matrix (see below) is essentially complete and the only feature that PETSc would need to test for is MS-MPI's lack of neighborhood collectives.</div><div><br></div><div>I am aware that people are using Open-MPI 1.10 in production today.  These people are bad.  Don't allow their poor life choices to force the pollution of PETSc source code with unnecessary macros.</div><div><br></div><div><a href="https://lists.mpi-forum.org/pipermail/mpi-forum/2014-June/006086.html">https://lists.mpi-forum.org/pipermail/mpi-forum/2014-June/006086.html</a> <- MPI 3.0<br></div><div><a href="https://lists.mpi-forum.org/pipermail/mpi-forum/2016-November/006532.html">https://lists.mpi-forum.org/pipermail/mpi-forum/2016-November/006532.html</a> <- MPI 3.1<br></div><div><a href="https://lists.mpi-forum.org/pipermail/mpi-forum/2018-November/006783.html">https://lists.mpi-forum.org/pipermail/mpi-forum/2018-November/006783.html</a> <- MPI 3.1<br></div><div><br></div><div>Jeff</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 24, 2019 at 2:15 PM Zhang, Junchao via petsc-dev <<a href="mailto:petsc-dev@mcs.anl.gov">petsc-dev@mcs.anl.gov</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div>
<div dir="ltr">PetscSF has many PETSC_HAVE_MPI_REDUCE_LOCAL. It is disturbing. But consider the time gap between MPI-2.0 (1998) and MPI-2.2 (2009), it is better to keep it.<br clear="all">
<div>
<div dir="ltr" class="gmail-m_2203416502199196129gmail_signature">
<div dir="ltr"><br>
</div>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, May 24, 2019 at 3:53 PM Jed Brown <<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
"Zhang, Junchao" <<a href="mailto:jczhang@mcs.anl.gov" target="_blank">jczhang@mcs.anl.gov</a>> writes:<br>
<br>
> How about stuff in MPI-2.2 (approved in 2009), the last of MPI-2.x, e.g., PETSC_HAVE_MPI_REDUCE_LOCAL?<br>
<br>
Currently we only require MPI-2.0, but I would not object to increasing<br>
to MPI-2.1 or 2.2 if such systems are sufficiently rare (almost<br>
nonexistent) in the wild.  I'm not sure how great the benefits are.<br>
<br>
> On Fri, May 24, 2019 at 2:51 PM Jed Brown via petsc-dev <<a href="mailto:petsc-dev@mcs.anl.gov" target="_blank">petsc-dev@mcs.anl.gov</a><mailto:<a href="mailto:petsc-dev@mcs.anl.gov" target="_blank">petsc-dev@mcs.anl.gov</a>>> wrote:<br>
> Lisandro Dalcin via petsc-dev <<a href="mailto:petsc-dev@mcs.anl.gov" target="_blank">petsc-dev@mcs.anl.gov</a><mailto:<a href="mailto:petsc-dev@mcs.anl.gov" target="_blank">petsc-dev@mcs.anl.gov</a>>> writes:<br>
><br>
>> These two are definitely wrong, we need PETSC_HAVE_MPI_XXX instead.<br>
><br>
> Thanks, we can delete both of these cpp guards.<br>
><br>
>> include/petscsf.h:#if defined(MPI_REPLACE)<br>
><br>
> MPI-2.0<br>
><br>
>> src/sys/objects/init.c:#if defined(PETSC_USE_64BIT_INDICES) ||<br>
>> !defined(MPI_2INT)<br>
><br>
> MPI-1.0<br>
</blockquote>
</div>
</div>

</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div></div>