OPAL_ERROR: Unreachable in file ../../../../../opal/mca/pmix/pmix3/pmix3x_client.c at line 112
-------------------------------------------------------------------------------------------------------------------
This application appears to have been direct launched using "srun",
but OMPI was not build with SLURM's PMI support and therefore cannot
execute. There are several options for building PMI support under
SLURM, depending upon the SLURM version you are using:
version 16.05 or later: you can use SLURM's PMIx support. THis
require that you configure and uild SLURM --with-pmix.
.
.
.
HI Craig,
If you run
srun –mpi=list
what does slurm report?
That will help in determining what argument you want to supply for the –mpi srun option.
Howard
HI Craig,
Your use of the –with-pmix on the open mpi configure line is important. Without any args to this configure option open mpi configure will first check if there’s an external pmix which is newer than the one that is included in the openmpi release tarball. If it is not, the internal pmix is built.
You can check in the config.log whether the internal PMix or an external one was used.
If you want to be extra careful, find the location of the PMIx v3 used to build the SLURM PMIx plugin, and then rebuild your open mpi 4.1.5 with
./configure … --with-pmix=path_to_pmix_used_for_slurm_pmix_plugin_build ….
But you may be okay without doing this. You can check this by running your open mpi job with
srun –mpi=pmix_v3 -N2 foo
and see if it behaves as expected.
I’m not sure what the “openmpi” result from srun –mpi=list is about.
checking if user requested PMI supportresult: nochecking if user requested internal PMIx support(yes)result: nochecking for pmix.h in /usrresult: not found
checking for pmix.h in /usr/includeresult: not foundWARNING: discovered external PMIx version is less than internal version 3.xWARNING: using internal PMIx
HI Craig,
Its not essential to use the pmix lib used to build the SLURM pmix plugin but it does reduce likelihood of problems.
I don’t know how, but there is some way that the admin installing SLURM can “name” the available pmix –mpi options.
For instance on one of our systems, the admin has built multiple variants of the pmix plugin:
MPI plugin types are...
cray_shasta
none
pmi2
pmix
specific pmix plugin versions available: pmix_v2,pmix_v3,pmix_v314,pmix_v4,pmix_v422
This naming convention has helped us with “decoupling” building of Open MPI from SLURM build, but does mean some coordination with the sys admins.
We’re using SLURM 22.05.6
Hope this helps,
Hi:
I’ve just started watching “the ABCs of OpenMPI” videos (they and slides are available at https://www.open-mpi.org/video/?category=general ). I’ve not finished part 1 (of 3) yet, and already have seen very-well-explained material specifically about the building of OpenMPI, Slurm, and related libraries.
These are a fantastic resource!
--
Paul Brunk, system administrator
Advanced Computing Resource Center
Enterprise IT Svcs, the University of Georgia
On 3/27/23, 2:29 PM, "slurm-users" <slurm-use...@lists.schedmd.com> wrote:
You don't often get email from cfr...@super.org. Learn why this is important <https://aka.ms/LearnAboutSenderIdentification>
[EXTERNAL SENDER - PROCEED CAUTIOUSLY]
Can someone please clarify the "best practices" for building OpenMPI compatible with Slurm?
https://slurm.schedmd.com/mpi_guide.html#open_mpi <https://slurm.schedmd.com/mpi_guide.html#open_mpi> tells me what I _can_ do but I'm unclear as to what I _should_ do.