<html><body><div id="edo-message"><div></div>I missed this step then to build pmix separately. I thought that the built in pmix inside openpmi could be used by slurm </div><div id="edo-meta"></div><div id="edo-original"><div><br><br><blockquote type="cite" style="margin:1ex 0 0 0;border-left:1px #ccc solid;padding-left:0.5ex;"><div>On Mar 14, 2019 at 9:32 PM, <<a href="mailto:gilles@rist.or.jp">Gilles Gouaillardet</a>> wrote:<br><br></div><div><pre>Riccardo,
<br>
<br>
<br>I am a bit confused by your explanation.
<br>
<br>
<br>Open MPI does embed PMIx, but only for itself.
<br>
<br>An other way to put it is you have to install pmix first (package or
<br>download from pmix.org)
<br>
<br>and then build SLURM on top of it.
<br>
<br>
<br>Then you can build Open MPI with the same (external) PMIx or the
<br>embedded one
<br>
<br>(since PMIx offers cross-version compatilibity support)
<br>
<br>
<br>Cheers,
<br>
<br>
<br>Gilles
<br>
<br>
<br>On 3/15/2019 12:24 PM, Riccardo Veraldi wrote:
<br>> thanks to all.
<br>> the problem is that slurm's configure is not able to find the pmix
<br>> includes
<br>>
<br>> configure:20846: checking for pmix installation
<br>> configure:21005: result:
<br>> configure:21021: WARNING: unable to locate pmix installation
<br>>
<br>> regardless of the path I give.
<br>> and the reason is that configure searches for the following includes:
<br>>
<br>> test -f "$d/include/pmix/pmix_common.h"
<br>> test -f "$d/include/pmix_server.h"
<br>>
<br>> but neither of the two are installed by openmpi.
<br>>
<br>> one of the two is in the openmpi soure code tarball
<br>>
<br>> ./opal/mca/pmix/pmix3x/pmix/include/pmix_server.h
<br>>
<br>> the other one is in a ".h.in" file. and not ".h"
<br>>
<br>> ./opal/mca/pmix/pmix3x/pmix/include/pmix_common.h.in
<br>>
<br>> anyway they do not get installed by the rpm.
<br>>
<br>> the last thing I can try is build directly openmpi from sources and
<br>> give up with the rpm package build. The openmpi .spec has also errors
<br>> which I had to fix manually to allow it to successfully build
<br>>
<br>>
<br>>
<br>> On 3/12/19 4:56 PM, Daniel Letai wrote:
<br>>> Hi.
<br>>> On 12/03/2019 22:53:36, Riccardo Veraldi wrote:
<br>>>> Hello,
<br>>>> after trynig hard for over 10 days I am forced to write to the list.
<br>>>> I am not able to have SLURM work with openmpi. Openmpi compiled
<br>>>> binaries won't run on slurm, while all non openmpi progs run just
<br>>>> fine under "srun". I am using SLURM 18.08.5 building the rpm from
<br>>>> the tarball: rpmbuild -ta slurm-18.08.5-2.tar.bz2
<br>>>> prior to bulid SLURM I installed openmpi 4.0.0 which has built in
<br>>>> pmix support. the pmix libraries are in /usr/lib64/pmix/ which is
<br>>>> the default installation path.
<br>>>>
<br>>>> The problem is that hellompi is not working if I launch in from
<br>>>> srun. of course it runs outside slurm.
<br>>>>
<br>>>> [psanagpu105:10995] OPAL ERROR: Not initialized in file
<br>>>> pmix3x_client.c at line 113
<br>>>> --------------------------------------------------------------------------
<br>>>> The application appears to have been direct launched using "srun",
<br>>>> but OMPI was not built with SLURM's PMI support and therefore cannot
<br>>>> execute. There are several options for building PMI support under
<br>>>
<br>>> I would guess (but having the config.log files would verify it) that
<br>>> you should rebuild Slurm --with-pmix and then you should rebuild
<br>>> OpenMPI --with Slurm.
<br>>>
<br>>> Currently there might be a bug in Slurm's configure file building
<br>>> PMIx support without path, so you might either modify the spec before
<br>>> building (add --with-pmix=/usr to the configure section) or for
<br>>> testing purposes ./configure --with-pmix=/usr; make; make install.
<br>>>
<br>>>
<br>>> It seems your current configuration has built-in mismatch - Slurm
<br>>> only supports pmi2, while OpenMPI only supports PMIx. you should
<br>>> build with at least one common PMI: either external PMIx when
<br>>> building Slurm, or Slurm's PMI2 when building OpenMPI.
<br>>>
<br>>> However, I would have expected the non-PMI option (srun
<br>>> --mpi=openmpi) to work even in your env, and Slurm should have built
<br>>> PMIx support automatically since it's in default search path.
<br>>>
<br>>>
<br>>>> SLURM, depending upon the SLURM version you are using:
<br>>>>
<br>>>> version 16.05 or later: you can use SLURM's PMIx support. This
<br>>>> requires that you configure and build SLURM --with-pmix.
<br>>>>
<br>>>> Versions earlier than 16.05: you must use either SLURM's PMI-1 or
<br>>>> PMI-2 support. SLURM builds PMI-1 by default, or you can manually
<br>>>> install PMI-2. You must then build Open MPI using --with-pmi pointing
<br>>>> to the SLURM PMI library location.
<br>>>>
<br>>>> Please configure as appropriate and try again.
<br>>>> --------------------------------------------------------------------------
<br>>>> *** An error occurred in MPI_Init
<br>>>> *** on a NULL communicator
<br>>>> *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
<br>>>> *** and potentially your MPI job)
<br>>>> [psanagpu105:10995] Local abort before MPI_INIT completed completed
<br>>>> successfully, but am not able to aggregate error messages, and not
<br>>>> able to guarantee that all other processes were killed!
<br>>>> srun: error: psanagpu105: task 0: Exited with exit code 1
<br>>>>
<br>>>> I really have no clue. I even reinstalled openmpi on a specific
<br>>>> different path /opt/openmpi/4.0.0
<br>>>> anyway seems like slurm does not know how to fine the MPI libraries
<br>>>> even though they are there and right now in the default path /usr/lib64
<br>>>>
<br>>>> even using --mpi=pmi2 or --mpi=openmpi does not fix the problem and
<br>>>> the same error message is given to me.
<br>>>> srun --mpi=list
<br>>>> srun: MPI types are...
<br>>>> srun: none
<br>>>> srun: openmpi
<br>>>> srun: pmi2
<br>>>>
<br>>>>
<br>>>> Any hint how could I fix this problem ?
<br>>>> thanks a lot
<br>>>>
<br>>>> Rick
<br>>>>
<br>>>>
<br>>> --
<br>>> Regards,
<br>>>
<br>>> Dani_L.
<br>>
<br>>
<br>
<br></pre></div></blockquote></div></div></body></html>