Skip to content

Commit 31507dd

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.0.x branch has README. Signed-off-by: Jeff Squyres <[email protected]>
1 parent 56b43d1 commit 31507dd

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
@@ -1524,13 +1524,29 @@ MISCELLANEOUS FUNCTIONALITY
15241524
Enable the PERUSE MPI data analysis interface.
15251525

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

15361552
--with-wrapper-cflags=<cflags>

0 commit comments

Comments
 (0)