@@ -706,6 +706,32 @@ Network Support
706706 mechanisms for Open MPI to utilize single-copy semantics for shared
707707 memory.
708708
709+ - In prior versions of Open MPI, InfiniBand and RoCE support was
710+ provided through the openib BTL and ob1 PML plugins. Starting with
711+ Open MPI 4.0.0, InfiniBand support through the openib+ob1 plugins is
712+ both deprecated and superseded by the UCX PML component.
713+
714+ UCX is an open-source optimized communication library which supports
715+ multiple networks, including RoCE, InfiniBand, uGNI, TCP, shared
716+ memory, and others.
717+
718+ While the openib BTL depended on libibverbs, the UCX PML depends on
719+ the UCX library. The UCX library can be downloaded from
720+ http://www.openucx.org/ or from various Linux distribution
721+ repositories (e.g., Fedora/RedHat yum repositories). The UCX
722+ library is also part of Mellanox OFED and Mellanox HPC-X binary
723+ distributions.
724+
725+ Once installed, Open MPI can be built with UCX support by adding
726+ --with-ucx to the Open MPI configure command. Once Open MPI is
727+ configured to use UCX, the runtime will automatically select the UCX
728+ PML if one of the supported networks is detected (e.g., InfiniBand).
729+ It's possible to force using UCX in the mpirun or oshrun command
730+ lines by specifying any or all of the following mca parameters:
731+ "-mca pml ucx" for MPI point-to-point operations, "-mca spml ucx"
732+ for OpenSHMEM support, and "-mca osc ucx" for MPI RMA (one-sided)
733+ operations.
734+
709735Open MPI Extensions
710736-------------------
711737
@@ -1018,6 +1044,19 @@ NETWORKING SUPPORT / OPTIONS
10181044 covers most cases. This option is only needed for special
10191045 configurations.
10201046
1047+ --with-ucx=<directory>
1048+ Specify the directory where the UCX libraries and header files are
1049+ located. This option is generally only necessary if the UCX headers
1050+ and libraries are not in default compiler/linker search paths.
1051+
1052+ --with-ucx-libdir=<directory>
1053+ Look in directory for the UCX libraries. By default, Open MPI will
1054+ look in <ucx_directory>/lib and <ucx_ directory>/lib64, which covers
1055+ most cases. This option is only needed for special configurations.
1056+
1057+ --with-usnic
1058+ Abort configure if Cisco usNIC support cannot be built.
1059+
10211060--with-verbs=<directory>
10221061 Specify the directory where the verbs (also known as OpenFabrics
10231062 verbs, or Linux verbs, and previously known as OpenIB) libraries and
@@ -1063,8 +1102,6 @@ NETWORKING SUPPORT / OPTIONS
10631102 package, configure will safely abort with a helpful message telling
10641103 you that you should not use --with-verbs-usnic.
10651104
1066- --with-usnic
1067- Abort configure if Cisco usNIC support cannot be built.
10681105
10691106RUN-TIME SYSTEM SUPPORT
10701107
@@ -2032,7 +2069,7 @@ timer - High-resolution timers
20322069Each framework typically has one or more components that are used at
20332070run-time. For example, the btl framework is used by the MPI layer to
20342071send bytes across different types underlying networks. The tcp btl,
2035- for example, sends messages across TCP-based networks; the openib btl
2072+ for example, sends messages across TCP-based networks; the UCX PML
20362073sends messages across OpenFabrics-based networks.
20372074
20382075Each component typically has some tunable parameters that can be
0 commit comments