@@ -1502,11 +1502,27 @@ Additionally, if a search directory is specified in the form
15021502 Enable the PERUSE MPI data analysis interface.
15031503
15041504* ` --enable-heterogeneous ` :
1505- Enable support for running on heterogeneous clusters (e.g., machines
1506- with different endian representations). Heterogeneous support is
1507- disabled by default because it imposes a minor performance penalty.
1508-
1509- *** THIS FUNCTIONALITY IS CURRENTLY BROKEN - DO NOT USE***
1505+ Enable support for running on heterogeneous clusters where data
1506+ types are equivalent sizes across nodes, but may have differing
1507+ endian representations. Heterogeneous support is disabled by
1508+ default because it imposes a minor performance penalty.
1509+
1510+ Note that the MPI standard * does not guarantee that all
1511+ heterogeneous communication will function properly* , ** especially
1512+ when the conversion between the different representations leads to
1513+ loss of accuracy or range.** For example, if a message with a
1514+ 16-bit integer datatype is sent with value 0x10000 to a receiver
1515+ where the same integer datatype is only 8 bits, the value will be
1516+ truncated at the receiver. Similarly, problems can occur if a
1517+ floating point datatype in one MPI process uses X1 bits for its
1518+ mantissa and Y1 bits for its exponent, but the same floating point
1519+ datatype in another MPI process uses X2 and Y2 bits, respectively
1520+ (where X1 != X2 and/or Y1 != Y2). Type size differences like this
1521+ can lead to unexpected behavior.
1522+
1523+ Open MPI's heterogeneous support correctly handles endian
1524+ differences between datatype representations that are otherwise
1525+ compatible.
15101526
15111527* ` --with-wrapper-cflags=CFLAGS `
15121528* ` --with-wrapper-cxxflags=CXXFLAGS `
0 commit comments