[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: MPICH as default MPI; WAS: MPI debugging workflows




On 11/12/2018 18:26, Drew Parsons wrote:
On 2018-12-08 12:31, Drew Parsons wrote:
On 2018-12-07 19:49, Alastair McKinstry wrote:

Looking into it further, I'm reluctant now to move to mpich for buster
as the default. One was the experience of the openmpi3 transition,
shaking out many issues.


...

So I think more testing of mpich3 builds with CH4 /pmix / OFI support
is needed, but moving over openmpi-> mpich at this stage is iffy.


Thanks Alistair, your analysis sounds sound.  I'm happy to be patient
with the switch and wait till after buster, especially if pmix support
complicates the matter.  That will make it all the more useful to set
up a test buildd to test the transition.

I'll invite upstream authors who have been promoting mpich over
openmpi to chip in with their experience.


I received this feedback from a PETSc developer:

  "The Open MPI API is better for developers due to better type safety (all
  handles in MPICH are typedef'd to int). Most major commercial vendors
  are organized around variants of MPICH (where there is collective ABI
  standardization). Open MPI is more modular so most vendor stuff goes
  into their plugins (for those vendors working with OMPI).

  "I think a good solution for Linux distros (and many others) would be to
  make a library that is ABI compatible with OMPI, but dispatches through
  to MPICH.  There exists a (messy) open source demonstration.

  "  https://github.com/cea-hpc/wi4mpi/ "



ABI compatibility sounds like a nice resolution of the dilemma.


Drew


Thanks, thats interesting. Yes, we should work for ABI compatibility for Bullseye.

My goals for MPI in Bullseye are:

(1) symbol versioning. OpenMPI has just released 4.0, but its too late to realistically push into Buster given experience. I have a symbol versioning patch that upstream have tentatively agreed to but needs work for non-gcc compilers. I intend to get that into the OpenMPI5 release, and OpenMPI5 into Bullseye, aiming to  make that the "last" big OpenMPI transition ...

(2) Ditto for MPICH ?

(3) Build using pkg-confiig instead of mpicc / mpifort wrappers. As of now, OpenMPI and MPICH are multiarch-aware, so you can cross-build MPI applications, but only if you use pkg-config rather than mpi wrappers.  Push this work through the MPI stack.

Best regards

Alastair



--
Alastair McKinstry, <alastair@sceal.ie>, <mckinstry@debian.org>, https://diaspora.sceal.ie/u/amckinstry
Commander Vimes didn’t like the phrase “The innocent have nothing to fear,”
 believing the innocent had everything to fear, mostly from the guilty but in the longer term
 even more from those who say things like “The innocent have nothing to fear.”
 - T. Pratchett, Snuff


Reply to: