pmi 0.1.0

A unified interface over PMI1, PMI2, and PMIx process management, developed for use by the Lamellar runtime.
# PMI crate

`pmi` is a thin Rust wrapper that lets Lamellar (and other crates) consume PMI-1, PMI-2, or PMIx depending on the features you enable.

## Features

- `with-pmi1`, `with-pmi2`, `with-pmix` enable the corresponding backend. Each pulls in the matching `*-sys` crate and the associated native libraries.
- `vendored` attempts to build the bundled implementations instead of requiring a system provider; it combines with the `with-*` flags (`with-pmi1-vendored`, etc.) to force a vendor build for the requested protocol layers.

## Usage

Add `pmi` as a dependency and choose the backend that matches the process manager on your cluster. Use the vendored features when you do not have a system PMI/PMIx stack available yet still need to run Lamellar examples with job-level coordination.

STATUS
------
pmi-rs has been developed as part of the Lamellar project and is still under development, thus not all intended features are yet
implemented.

CONTACTS
--------

Current Team Members

Ryan Friese           - ryan.friese@pnnl.gov 

Past Team Members

Polykarpos Thomadakis

## License

This project is licensed under the BSD License - see the [LICENSE](LICENSE) file for details.

## Acknowledgments

This work was supported by the High Performance Data Analytics (HPDA) Program at Pacific Northwest National Laboratory (PNNL),
a multi-program DOE laboratory operated by Battelle.