Skip to content

Commit bbddf47

Browse files
authored
Merge pull request #9969 from jsquyres/pr/v4.0.x/update-readme-heterogeneous-support
v4.0.x: README: make the heterogeneous support more clear
2 parents 56b43d1 + 1d6bcce commit bbddf47

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)