The charter of the PMIx community is to:
- Define a set of agnostic APIs (not affiliated with any specific programming model code base) to support interactions between application processes and the system management software stack (SMS)
- Develop an open source (non-copy-left licensed) standalone “convenience” library to facilitate adoption of the PMIx standard
- Retain transparent backward compatibility with the existing PMI-1 and PMI-2 definitions, any future PMI releases, and across all PMIx versions
- Support the Instant On initiative for rapid startup of applications at exascale and beyond
- Work with the HPC community to define and implement new APIs that support evolving programming model requirements for application-RM interactions.
Note that the definition of the PMIx standard is not contingent upon use of the reference implementation library. Any implementation that supports the defined APIs is perfectly acceptable, although no environments have chosen to pursue that route as yet. The reference implementation is provided solely for the following purposes:
- Validation of the standard. No proposed change and/or extension to the standard is accepted without an accompanying prototype implementation in the reference implementation. This ensures that the proposal has undergone at least some minimal level of scrutiny and testing before being considered.
- Ease of adoption. The PMIx reference implementation is designed to be particularly easy for resource managers (and the SMS in general) to adopt, thus facilitating a rapid uptake into that community for application portability. Both client and server libraries are included, along with reference examples of client usage and server-side integration. A list of supported environments and versions is provided [here](etc) – please check regularly as the list is changing!
The reference implementation library targets support for the Linux operating system. A reasonable effort is made to support all major, modern Linux distributions; however, validation is limited to the most recent 2-3 releases of RedHat Enterprise Linux (RHEL), Fedora, CentOS, and SUSE Linux Enterprise Server (SLES). In addition, development support is maintained for Mac OSX. Production support for vendor-specific operating systems is included as provided by the vendor.
Participation in the PMIx community is open to anyone, and not restricted to only code contributors to the convenience library. Current community members are listed [here](community).