@@ -1529,13 +1529,29 @@ MISCELLANEOUS FUNCTIONALITY
1529
1529
Enable the PERUSE MPI data analysis interface.
1530
1530
1531
1531
--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
1539
1555
Enable software-based performance counters capability.
1540
1556
1541
1557
--with-wrapper-cflags=<cflags>
0 commit comments