Skip to content

Commit 2d1db89

Browse files
committed
docs: update static application build docs
In 5.0+ CUDA is only linked to accelerator components which can be built as DSO or statically linked to ompi. Therefore fully static build CAN have CUDA support. Also add explanation for why memory manager does not work with fully-static applications. Signed-off-by: Wenduo Wang <wenduwan@amazon.com>
1 parent d4bfe8c commit 2d1db89

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

docs/building-apps/building-static-apps.rst

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,14 @@ sub-optimal:
8383

8484
In other words: *using dynamic linking saves memory.*
8585

86-
#. If you disable Open MPI's ``dlopen`` functionality (which is
87-
necessary to create *fully*-static MPI applications), you lose the
88-
following:
89-
90-
* CUDA, because |mdash| among other reasons |mdash| the CUDA
91-
library is dynamically loaded at run-time via ``dlopen(3)``.
92-
93-
* Memory manager functionality, which is important for OS-bypass
94-
networks such as InfiniBand.
86+
#. *Fully*-static applications are not linked to the dynamic linking library,
87+
e.g. ``libdl`` on Linux, which provides ``dlopen(3)``, ``dlsym(3)``, etc.
88+
This will break Open MPI functionalities that depend on such interfaces.
89+
90+
.. warning:: Open MPI's memory management functionality, which provides
91+
important performance optimizations on OS-bypass networks
92+
such as InfiniBand, requires the ``dlsym(3)`` interface,
93+
and therefore does not work with fully-static applications.
9594

9695
Are you convinced yet? *Please try to avoid building fully-static MPI
9796
applications if at all possible.*

docs/installing-open-mpi/configure-cli-options/misc.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ above categories that can be used with ``configure``:
1313
is not *necessary* for OpenFabrics networks, but some performance
1414
loss may be observed without it).
1515

16-
However, it may be necessary to disable the memory manager in order
17-
to build Open MPI statically.
16+
.. warning:: Open MPI's memory management functionality, which provides
17+
important performance optimizations on OS-bypass networks
18+
such as InfiniBand, requires the ``dlsym(3)`` interface,
19+
and therefore does not work with fully-static applications.
1820

1921
* ``--with-ft=TYPE``:
2022
Specify the type of fault tolerance to enable. The only allowed

0 commit comments

Comments
 (0)