<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><p class="">Current Slurm official repository branches contain only a limited 
PMIx integration, primarily constrained to providing support for the 
traditional put-get exchange of key-value pairs. The support is also 
restricted to PMIx v3.x releases and below, though this restriction is 
due to a configure limitation as opposed to any compatibility issues 
with the PMIx library.</p><p class="">Given the emergence of new features in programming libraries such as 
MPI and OSHMEM that rely on more recent PMIx releases, and the 
sundowning of support for the older PMIx series, organizations may find 
themselves in need (or at least desiring) of support for PMIx releases 
in the v4.x and above series. Obviously, the optimal solution would be 
for this support to be available from the official repository and 
associated releases, and we are continuing to work towards that goal.</p><p class="">Meantime, projects involving (to one degree or another) the use of 
PMIx within Slurm have started. As part of their overall effort, these 
projects will extend the current PMIx integration to embrace the full 
range of PMIx operations. Much of this work will remain private pending 
publication, but some of the basic PMIx integration can be made 
available to interested organizations as it is completed.</p><p class="">Until these capabilities can be upstreamed, several organizations are teaming to provide two paths forward.</p><p class="">First, we offer a patch that can be applied to official Slurm releases that upgrades the PMIx support. The patches (<a href="https://github.com/slurm-pmix/slurm/wiki/Patches" class="">https://github.com/slurm-pmix/slurm/wiki/Patches</a>) are based on the head of the Slurm master branch and should apply 
cleanly to recent releases. Feedback on problems with the patch should 
be reported on that repository's "issues" page (<a href="https://github.com/slurm-pmix/slurm/issues" class="">https://github.com/slurm-pmix/slurm/issues</a>). We will maintain a list 
of patches (each marked with a date and hash upon which they were based)
 as work continues on adding support for a broader range of PMIx 
features.</p><p class="">Secondly, we remind users that they can use the PMIx Reference RunTime Environment (PRRTE, <a href="https://github.com/openpmix/prrte" class="">https://github.com/openpmix/prrte</a>) to resolve this issue. Once a user has obtained an allocation, simply execute <code class="">prte</code>
 to instantiate the persistent Distributed Virtual Machine (DVM). The 
PRRTE DVM contains support for the full range of PMIx features, thereby 
providing a complete environment for advanced features such as MPI 
Sessions and dynamic operations, multi-application workflows, and novel 
programming models such as the "sea of MPI" (to be described soon on the
 PRRTE site).</p><p class="">For ease-of-use in transitioning to PRRTE, the PMIx community is working on an "srun" personality for that environment. The base launcher for PRRTE is "prun", which has a command line similar but not identical to "srun".
 However, PRRTE supports customized command lines, and we are working to
 create such a wrapper for this environment. When complete, use of the "srun" command provided by PRRTE will behave the same as the native Slurm 
version of the command - but will execute the specified application 
using PRRTE.</p><p class="">It is our hope that organizations will find one (or both) of these 
options helpful in meeting their needs until a longer term solution is 
achieved.</p><div class="">Ralph</div><div class=""><br class=""></div></body></html>