Hi Kurt,

This documentation is rather slurm-centric.  If you build Open MPI 4.1.x series 
the default way, it will build its internal pmix package and use that when 
launching your app using mpirun.
In that case, you can use MPI_comm_spawn within a slurm allocation as long as 
there are sufficient slots in the allocation to hold both the spawner processes 
and the spawnee processes.
Note the slurm pmix implementation doesn’t support spawn – at least currently – 
so the documentation is accurate if you are building Open MPI against the SLURM 
PMix library.
In any case, you can’t use MPI_Comm_spawn if you use srun to launch the 
application.

Hope this helps,

Howard

From: users <users-boun...@lists.open-mpi.org> on behalf of "Mccall, Kurt E. 
(MSFC-EV41) via users" <users@lists.open-mpi.org>
Reply-To: Open MPI Users <users@lists.open-mpi.org>
Date: Tuesday, March 8, 2022 at 7:49 AM
To: "OpenMpi User List (users@lists.open-mpi.org)" <users@lists.open-mpi.org>
Cc: "Mccall, Kurt E. (MSFC-EV41)" <kurt.e.mcc...@nasa.gov>
Subject: [EXTERNAL] [OMPI users] OpenMPI, Slurm and MPI_Comm_spawn

The Slurm MPI User’s Guide at https://slurm.schedmd.com/mpi_guide.html#open_mpi 
has a note that states:

NOTE: OpenMPI has a limitation that does not support calls to MPI_Comm_spawn() 
from within a Slurm allocation. If you need to use the MPI_Comm_spawn() 
function you will need to use another MPI implementation combined with PMI-2 
since PMIx doesn't support it either.

Is this still true in OpenMPI 4.1?

Thanks,
Kurt

Reply via email to