[mpich-discuss] PMI 2 deprecation in MPICH 5.0.0
Zhou, Hui
zhouh at anl.gov
Thu Feb 12 13:10:45 CST 2026
Felip,
Thanks for the question. The original thesis on PMI 2 was too broad, yet not broad enough to meet the current need. For example, a major feature in PMI 2 is multi-thread performance. But in reality, PMI is mainly used during MPI_Init or other non-thread-performance sensitive areas that the complexity added to the design doesn't really justify its usage. In practice, almost all vendors of PMI 2 are simply providing a wrapper that does not take advantage of any PMI 2 features that can't be obtained with the PMI 1 interface. Meanwhile, PMI 2 kills the one feature of PMI 1 -- simplicity. In fact, I believe almost all vendors, regardless what there default interface is, can effortlessly support PMI 1. And because of PMI 1's simplicity, PMI 1 can more easily extend and adapt to new requirement. For example, we have matched the launching scalability using PMI 1 in hydra (MPICH's launcher). And just added one extension allowed us to support MPI sessions dynamic launching.
Compared to PMIx, PMIx is overly complex and broad, and it was designed way beyond the scope of MPI. As a result, it is much cumbersome to fork or independently implement PMIx than with PMI 1. Some of the PMIx features, including more advanced KVS scope and PMI events are enticing, but we believe it makes more sense to extend from the simple base of PMI 1 then to inherit the entity of PMIx and control it back.
Our current MPICH team is quite lean, but we still think we can keep advancing MPI if we effectively focus. Focusing on PMI 1 is one of such decisions.
At this point, PMI 2 is still supported but won't be further developed.
Hope this helps.
--
Hui
________________________________
From: Felip Moll via discuss <discuss at mpich.org>
Sent: Thursday, February 12, 2026 11:41 AM
To: discuss at mpich.org <discuss at mpich.org>
Cc: Felip Moll <fmoll at nvidia.com>
Subject: [mpich-discuss] PMI 2 deprecation in MPICH 5.0.0
Hello, MPICH 5. 0. 0 has been released, and the release notes announces that PMI 2 is now deprecated, and recommends switching to PMI 1. It also says PMI 1 upgraded to PMI 1. 2. Looking at some commits I also see that new features will be added
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
ZjQcmQRYFpfptBannerEnd
Hello,
MPICH 5.0.0 has been released, and the release notes announces that PMI 2 is now deprecated, and recommends switching to PMI 1.
It also says PMI 1 upgraded to PMI 1.2. Looking at some commits I also see that new features will be added to PMI 1.
I would like to understand the technical reasons behind deprecating PMI 2, as theorically it had a better startup latency, improved KVS, and so on compared to PMI 1 [1]
I understand that PMIx should be more appropriate than PMI 2 for large scale apps and this would probably be a reason to reduce efforts on supporting other PMIs, but why keep PMI1 and not PMI2?
Where does PMI 2 stand at that point?
Thank you!.
[1] PMI: A Scalable Parallel Process-Management Interface for Extreme-Scale Systems<https://www.mcs.anl.gov/papers/P1760.pdf >
Felip Moll
Slurm Sr Engineer
NVIDIA<https://urldefense.com/v3/__http:/www.nvidia.com/__;!!LpKI!m1it1uHwfgYmHS7qqdmJTPaSuMjYIFnhWAJLp5E9tO7nEVWPj3sTumZmbxBYOeHVOQS3q-Fgw_v2SqibGpA$ > [nvidia.com]<https://urldefense.com/v3/__http:/www.nvidia.com/__;!!LpKI!m1it1uHwfgYmHS7qqdmJTPaSuMjYIFnhWAJLp5E9tO7nEVWPj3sTumZmbxBYOeHVOQS3q-Fgw_v2SqibGpA$ >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20260212/b3d09ff3/attachment.html>
More information about the discuss
mailing list