Skip to content

Future of prrte and openpmix at and beyond Open MPI 5.0.x

Jeff Squyres edited this page Apr 11, 2024 · 16 revisions

Please drop your notes

Two different paths:

  1. Open MPI main branch (i.e., what will presumably become v6.0.x)
    • Point to Open MPI fork of PRRTE
    • Maintain a different version number (in https://github.com/open-mpi/ompi/pull/12449, just add ompi to greek field in VERSION file)
    • The goal of this fork will be stability -- not keeping up with all new features in upstream PRRTE.
    • The idea is that the OMPI-ized PRRTE becomes an implementation detail for Open MPI
      • We'll change our docs to discuss PRRTE differently -- the upstream PRRTE will be another external launcher (like SLURM) that can be used
      • There will be no --with-prrte=DIR configure CLI option.
      • We'll never build against an external PRRTE
      • We'll always build our internal OMPI PRRTE
      • Open MPI's mpirun will always use our internal OMPI PRTE
      • Any bugs that are found are viewed as bugs in mpirun -- the fact that it used a fork of the community PRRTE is just an implementation detail. It will be up to us / the OMPI community to fix the problem (not the PRRTE community). We have options on how to fix such things: e.g.,
        • fix them in the upstream/community and cherry-pick or back-port the change back to the OMPI PRRTE, or
        • fix them directly in the OMPI PRRTE
    • We can cherry-pick commits from upstream PRRTE repo if desired. As time goes on, taking individual commits from upstream PRRTE may turn more into back ports than cherry-picks (i.e., it may involve some porting efforts if/when upstream PRRTE diverges from the OMPI PRRTE
    • Over time, we can improve the integration of the OMPI PRRTE into OMPI, for example (but not limited to):
      • Move it out of the 3rd-party tree
      • No longer build unnecessary PRRTE executables and/or libraries
      • Rename all PRRTE executables and/or libraries so that we don't conflict with an actual PRRTE install
      • Make it so mpirun doesn't have to fork/exec a 2nd executable
      • Integrate the PRRTE docs/man pages into OMPI docs/man pages
      • ... etc.
  2. Open MPI v5.0.x branch
Clone this wiki locally