| MPI Implementation Status |
(This document roughly follows the format of the memo Status of the MPICH implementation of MPI-1 and MPI-2. It is organized by sections of the MPI-2 Standard).
| Section | Support | |
|---|---|---|
| MPI-1.2 | ||
| All | Yes | |
| MPI-2: Miscellany | ||
| 4.1 | Portable MPI Process Startup (mpiexec) | No |
| 4.2 | Passing NULL to MPI_Init | Yes |
| 4.4 | MPI_TYPE_CREATE_INDEXED_BLOCK | Yes |
| 4.5 | MPI_STATUS_IGNORE MPI_STATUSES_IGNORE | Yes |
| 4.6 | Error Class for Invalid Keyval | No. GridMPI does not distinguish target objects of keyvals. |
| 4.7 | Committing a Committed Datatype | Yes. GridMPI does nothing by commit. |
| 4.8 | Allowing User Functions at Process Termination | No |
| 4.9 | Determining Whether MPI Has Finished | Yes |
| 4.10 | The Info Object | Yes |
| 4.11 | Memory Allocation | Yes. GridMPI implements memory allocators by malloc/free. |
| 4.12 | Language Interoperability | No. Fortran KIND is not yet implemented. |
| 4.13 | Error Handlers (on communicators, windows, and datatypes) | Yes. GridMPI does not distinguish target objects of error handlers, and no errors are signaled when an error handler is set to an inappropriate object. |
| 4.14 | New Datatype Manipulation Functions | Yes |
| 4.15 | New Predefined Datatypes | Yes |
| 4.16 | Canonical MPI_PACK and MPI_UNPACK | Yes |
| 4.17 | Functions and Macros | Yes. GridMPI implements all interfaces as functions. |
| 4.18 | Profiling Interface | Yes |
| MPI-2: Process Creation and Management | ||
| 5.3 | Process Manager Interface | Yes. Lightly tested. (*Note1) |
| 5.4 | Establishing Communication | Yes. Lightly tested. (*Note1) |
| 5.5 | Other Functionality | Yes. Lightly tested. (*Note1) |
| MPI-2: One-Sided Communications | ||
| 6.2 | Initialization | Yes. Lightly tested. (*Note3) |
| 6.3 | Communication Calls | Yes. Lightly tested. (*Note3) |
| 6.4 | Synchronization Calls | Yes. Lightly tested. (*Note3) |
| 6.6 | Error Handling | Yes. Lightly tested. (*Note3) |
| MPI-2: Extended Collective Operations | ||
| 7.2 | Intercommunucator Constructors | Yes |
| 7.3 | Extended Collective Operations | Yes |
| MPI-2: External Interfaces | ||
| 8.2 | Generalized Requests | Yes |
| 8.3 | Associating Information with Status | Yes |
| 8.4 | Naming Objects | Yes |
| 8.5 | Error Classes, Codes, and Handlers | Yes |
| 8.6 | Decoding a Datatype | Yes |
| 8.7 | MPI and Threads | Yes. Lightly tested. (*Note2) |
| 8.8 | New Attribute Caching Functions | Yes |
| 8.9 | Duplicating a Datatype | Yes |
| MPI-2: MPI-I/O | ||
| 9.2 | File Manipulation | Yes. Lightly tested. (*Note3, *Note4) |
| 9.3 | File Views | Yes. Lightly tested. (*Note3, *Note4) |
| 9.4 | Data Access | Yes. Lightly tested. (*Note3, *Note4) |
| 9.5 | File Interoperability | Yes. Lightly tested. (*Note3, *Note4) |
| 9.6 | Consistency and Semantics | Yes. Lightly tested. (*Note3, *Note4) |
| 9.7 | I/O Error Handling | Yes. Lightly tested. (*Note3, *Note4) |
| 9.8 | I/O Error Classes | Yes. Lightly tested. (*Note3, *Note4) |
| MPI-2: Language Bindings | ||
| 10.1 | C++ | Yes |
| 10.2 | Fortran Support | No (includes MPI module) |
NOTES: