Skip to content

Commit 978fcce

Browse files
authored
Merge pull request #12095 from wenduwan/cuda-doc-update-dlopen
docs: update static application build docs
2 parents df72a69 + 2d1db89 commit 978fcce

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)