@@ -706,6 +706,32 @@ Network Support
706
706
mechanisms for Open MPI to utilize single-copy semantics for shared
707
707
memory.
708
708
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
+
709
735
Open MPI Extensions
710
736
-------------------
711
737
@@ -1018,6 +1044,19 @@ NETWORKING SUPPORT / OPTIONS
1018
1044
covers most cases. This option is only needed for special
1019
1045
configurations.
1020
1046
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
+
1021
1060
--with-verbs=<directory>
1022
1061
Specify the directory where the verbs (also known as OpenFabrics
1023
1062
verbs, or Linux verbs, and previously known as OpenIB) libraries and
@@ -1063,8 +1102,6 @@ NETWORKING SUPPORT / OPTIONS
1063
1102
package, configure will safely abort with a helpful message telling
1064
1103
you that you should not use --with-verbs-usnic.
1065
1104
1066
- --with-usnic
1067
- Abort configure if Cisco usNIC support cannot be built.
1068
1105
1069
1106
RUN-TIME SYSTEM SUPPORT
1070
1107
@@ -2032,7 +2069,7 @@ timer - High-resolution timers
2032
2069
Each framework typically has one or more components that are used at
2033
2070
run-time. For example, the btl framework is used by the MPI layer to
2034
2071
send 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
2036
2073
sends messages across OpenFabrics-based networks.
2037
2074
2038
2075
Each component typically has some tunable parameters that can be
0 commit comments