Skip to content

Commit 9b9beee

Browse files
committed
README.md: make the heterogeneous support more clear
Remove ambiguous warning language (it's not clear if the "THIS FUNCTIONALITY..." warning applies to the option above or below the warning) and make it clear exactly what the heterogeneous option supports and does not support. This is a port of 6674ba8 from master; it's not a direct cherry pick because master has README.md and the v4.1.x branch has README. Signed-off-by: Jeff Squyres <[email protected]>
1 parent d24eeb0 commit 9b9beee

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

README

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1529,13 +1529,29 @@ MISCELLANEOUS FUNCTIONALITY
15291529
Enable the PERUSE MPI data analysis interface.
15301530

15311531
--enable-heterogeneous
1532-
Enable support for running on heterogeneous clusters (e.g., machines
1533-
with different endian representations). Heterogeneous support is
1534-
disabled by default because it imposes a minor performance penalty.
1535-
1536-
*** THE HETEROGENEOUS FUNCTIONALITY IS CURRENTLY BROKEN - DO NOT USE ***
1537-
1538-
--enable-spc
1532+
Enable support for running on heterogeneous clusters where data
1533+
types are equivalent sizes across nodes, but may have differing
1534+
endian representations. Heterogeneous support is disabled by
1535+
default because it imposes a minor performance penalty.
1536+
1537+
Note that the MPI standard does not guarantee that all
1538+
heterogeneous communication will function properly, especially
1539+
when the conversion between the different representations leads to
1540+
loss of accuracy or range. For example, if a message with a
1541+
16-bit integer datatype is sent with value 0x10000 to a receiver
1542+
where the same integer datatype is only 8 bits, the value will be
1543+
truncated at the receiver. Similarly, problems can occur if a
1544+
floating point datatype in one MPI process uses X1 bits for its
1545+
mantissa and Y1 bits for its exponent, but the same floating point
1546+
datatype in another MPI process uses X2 and Y2 bits, respectively
1547+
(where X1 != X2 and/or Y1 != Y2). Type size differences like this
1548+
can lead to unexpected behavior.
1549+
1550+
Open MPI's heterogeneous support correctly handles endian
1551+
differences between datatype representations that are otherwise
1552+
compatible.
1553+
1554+
--enable-spc
15391555
Enable software-based performance counters capability.
15401556

15411557
--with-wrapper-cflags=<cflags>

0 commit comments

Comments
 (0)