7. Release Notes
The following abbreviated list of release notes applies to this code base as of this writing (10 Mar 2023):
7.1. General notes
Systems that have been tested are:
Linux (various flavors/distros), 64 bit (x86), with gcc, Intel, and Portland (*)
OS X (10.7 and above), 64 bit (x86_64), with gcc and clang (*)
OpenPMIx has taken some steps towards Reproducible Builds (https://reproducible-builds.org/). Specifically, OpenPMIx’s
configure
andmake
process, by default, records the build date and some system-specific information such as the hostname where OpenPMIx was built and the username who built it. If you desire a Reproducible Build, set the$SOURCE_DATE_EPOCH
,$USER
and$HOSTNAME
environment variables before invokingconfigure
andmake
, and OpenPMIx will use those values instead of invokingwhoami
and/orhostname
, respectively. See https://reproducible-builds.org/docs/source-date-epoch/ for information on the expected format and content of the$SOURCE_DATE_EPOCH
variable.
7.2. Compiler Notes
The Portland Group compilers prior to version 7.0 require the
-Msignextend
compiler flag to extend the sign bit when converting from a shorter to longer integer. This is is different than other compilers (such as GNU). When compiling PMIx with the Portland compiler suite, the following flags should be passed to PMIx’s configure script:shell$ ./configure CFLAGS=-Msignextend ...
This will compile PMIx with the proper compile flags.
Running on nodes with different endian and/or different datatype sizes within a single parallel job is supported in this release. However, PMIx does not resize data when datatypes differ in size (for example, sending a 4 byte double and receiving an 8 byte double will fail).