Skip to content

Commit

Permalink
add new feature docs
Browse files Browse the repository at this point in the history
Signed-off-by: jason yang <[email protected]>
  • Loading branch information
JasonYangShadow committed Feb 28, 2024
1 parent 9ab71e2 commit 32a8145
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
2 changes: 1 addition & 1 deletion apptainer_source
Submodule apptainer_source updated 262 files
20 changes: 20 additions & 0 deletions mpi.rst
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ If the host MPI is Open MPI, the definition file looks like:
Consult your system documentation, or ask your support staff for
details.


.. _mpi-issue:
.. note::

The MPI UCX library has a problem with unprivileged user namespaces.
Expand All @@ -257,6 +259,24 @@ If the host MPI is Open MPI, the definition file looks like:
mpirun -np 2 -mca pml ucx -x UCX_TLS=sysv,ib apptainer exec $MY_CONTAINER ./a.out
Using --sharens mode
====================

Default in unprivileged user namespace mode. Each process spawned by MPI runs in its own user namespace. This will
bring problems as observed :ref:`in this issue <mpi-issue>`. The new ``--sharens`` flag will
move all spawned processes into the same user namespace, similar to what is done with {Project} SUID mode.

.. code::
mpirun -np 2 apptainer exec --sharens $MY_CONTAINER ./a.out
.. note::

Note that ``--sharens`` flag requires all spawned processes having the same parent process. This is because these
child processes will join the same namespace identified using the parent process id. To meet the requirement, {Project}
containers should be launched by the same process, e.g. mpirun, and all these containers should be running on the same host.
``--sharens`` does not support sharing the same namespace accross different hosts.

Running an MPI Application
==========================

Expand Down

0 comments on commit 32a8145

Please sign in to comment.