This page provides a way to update the community on the current status of various MPI implementation with respect to the various vesions of the MPI Standard.
MPI 5.0
| Feature | MPICH | Open MPI | Intel MPI |
| ABI Support |
| # - Under development | + - Partly done |
MPI 4.1
| Feature | MPICH | Open MPI | Intel MPI |
| (P)MPI_WTI{ME,CK} and handle conversion macros are symbols | ✅ | + | |
MPI_REQUEST_GET_STATUS makes progress |
✅ | ✅ | |
| Status field get/set functions | ✅ | ✅ | |
| Send with automatic buffering features | ✅ | ✅ | |
| Getting multiple statuses from an array of requests | ✅ | ✅ | |
MPI_TYPE_GET_VALUE_INDEX |
✅ | ✅ | |
MPI_COMM_TYPE_RESOURCE_GUIDED and mpi_pset_name |
✅ | ✅ | |
mpi_assert_strict_persistent_collective_ordering |
✅ | ✅ | |
| Memory alloc kinds | ✅ | ✅ | |
| Getting names for null handles | ✅ | ✅ | |
MPI_GET_HW_RESOURCE_INFO |
✅ | ✅ | |
MPI_ERR_ERRHANDLER |
✅ | ✅ | |
| Removing error class, code and string | ✅ | ✅ | |
MPI_WIN_SHARED_QUERY supports more window types |
✅ | ✅ | |
mpi_accumulate_granularity |
✅ | ✅ |
| # - Under development | + - Partly done |
MPI 4.0
| Feature | MPICH | Open MPI | Intel MPI |
| Large Counts | ✅ | # | ✅ |
| Partitioned Communication | ✅ | ✅ | ✅ |
| Sessions | ✅ | ✅ | ✅ |
| MPI_T Events | ✅ | ❌ | ❌ |
| Error Handling | ✅ | ✅ | ✅ |
| Non-blocking SENDRECV | ✅ | ✅ | ✅ |
| Persistent Collectives | ✅ | ✅ | ✅ |
| New Split Types | ✅ | ✅ | ✅ |
| MPI_COMM_DUP info | ✅ | ✅ | ✅ |
| Info Assertions | ✅ | ✅ | ✅ |
| Memory Alignment | ✅ | ✅ | ✅ |
| MPI_INFO_CREATE_ENV | ✅ | ✅ | ✅ |
| # - Under development | + - Partly done |
MPI 3.1
| Feature | MPICH | MVAPICH | Open MPI | Cray | Tianhe | Intel MPI | IBM (BG/Q - Legacy) | IBM (PE - Legacy) | IBM (Spectrum) | HPE | Fujitsu | Microsoft | MPC | NEC | Sunway | RIKEN | AMPI |
| Non-Blocking Collectives | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Neighborhood Collectives | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| RMA | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | + |
| Shared Memory | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | # |
| MPI_T | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | # | ✅ | ✅ | ✅ | ✅ | Q1 2019 |
MPI_COMM_CREATE_GROUP |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | # | ✅ | ✅ | ✅ | ✅ | ✅ |
| F08 Bindings | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | # | ❌ | ✅ | ✅ | ✅ | ✅ | Q2 2019 |
| New Datatypes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Large Counts | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
MPI_MProbe |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| NBC I/O | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | # | ❌ | # | ✅ | ❌ | ✅ | Q2 2019 |
| # - Under development | + - Partly done |
Instructions for MPI Implementation Maintainers
If you would like to update the information for your implementation. Create a pull request here to make that change. If you’re unclear on how that works, contact @wesbland or @schulzm for help.