22.1.2. Changes in MPI-4.1

PreviousUpNext
Up: Changes from Version 4.0 to Version 4.1 Next: Changes from Version 3.1 to Version 4.0 Previous: Fixes to Errata in Previous Versions of MPI

    1. Section Side-documents on page Side-documents.
    Introduced the concept of side documents.


    2. Sections MPI Operations and MPI Procedures on pages MPI Operations and MPI Procedures.
    Added the definition of the enabled operation state.


    3. Sections Choice, Fortran Binding Issues, and Support for Fortran on pages Choice, Fortran Binding Issues, and Support for Fortran.
    The MPI standard now reflects that TS 29113 was superceded by Fortran 2018.


    4. Sections Deprecated and Removed Interfaces, Address and Size Procedures, Extent and Bounds of Datatypes, True Extent of Datatypes, Use of General Datatypes in Communication, Associating Information with Status, and Deprecated since MPI-4.1 on pages Deprecated and Removed Interfaces, Address and Size Procedures, Extent and Bounds of Datatypes, True Extent of Datatypes, Use of General Datatypes in Communication, Associating Information with Status, and Deprecated since MPI-4.1.
    MPI_TYPE_SIZE_X, MPI_TYPE_GET_EXTENT_X,
    MPI_TYPE_GET_TRUE_EXTENT_X, MPI_GET_ELEMENTS_X, and
    MPI_STATUS_SET_ELEMENTS_X were deprecated and may be removed in a future version of the MPI specification.


    5. Sections Deprecated and Removed Interfaces, Predefined Intra-Communicators and Environmental Inquiries on pages Deprecated and Removed Interfaces, Predefined Intra-Communicators and Environmental Inquiries.
    MPI_HOST has been deprecated, and a mention to host process has been removed.


    6. Sections Deprecated and Removed Interfaces, Overview, Fortran Support Through the mpif.h Include File, Deprecated since MPI-4.1 on pages Deprecated and Removed Interfaces, Overview, Fortran Support Through the mpif.h Include File, Deprecated since MPI-4.1.
    Deprecated the use of mpif.h.


    7. Section Functions and Macros on page Functions and Macros.
    Removed the functions MPI_WTIME, PMPI_WTIME, MPI_WTICK, and PMPI_WTICK from the list of functions that may be implemented as a macro.


    8. Section Functions and Macros on page Functions and Macros and Section Transfer of Handles on page Transfer of Handles.
    Removed the ability to implement MPI handle conversion functions as a macro.


    9. Sections Progress, Non-Destructive Test of status, General Active Target Synchronization, and Example Progress on pages Progress, Non-Destructive Test of status, General Active Target Synchronization, and Progress.
    The progress rules were clarified in general and for MPI_REQUEST_GET_STATUS and MPI_WIN_TEST. The terms strong and weak progress were introduced. An example showing restrictions on the use of MPI shared memory for synchronizing purposes was introduced.


    10. Sections Return Status and Associating Information with Status on pages Return Status and Associating Information with Status.
    Added procedures MPI_STATUS_GET_SOURCE, MPI_STATUS_GET_TAG, and MPI_STATUS_GET_ERROR to query MPI status fields and procedures MPI_STATUS_SET_SOURCE, MPI_STATUS_SET_TAG, and MPI_STATUS_SET_ERROR to set MPI status fields. Direct access to these fields remains available.


    11. Section Buffer Allocation and Usage on page Buffer Allocation and Usage.
    Automatic (unlimited) buffering is added, which can be enabled by using MPI_BUFFER_AUTOMATIC in any of the buffer attach procedures. New procedures MPI_COMM_ATTACH_BUFFER, MPI_SESSION_ATTACH_BUFFER, MPI_COMM_DETACH_BUFFER and MPI_SESSION_DETACH_BUFFER have been added. The buffers attached with the existing functions MPI_BUFFER_ATTACH and MPI_BUFFER_DETACH now only apply to communicators that have no buffer attached at the communicator or session level. New procedures MPI_COMM_FLUSH_BUFFER, MPI_SESSION_FLUSH_BUFFER, and MPI_BUFFER_FLUSH were added as a combination of detach and attach, as well as the corresponding nonblocking variants MPI_COMM_IFLUSH_BUFFER, MPI_SESSION_IFLUSH_BUFFER, and MPI_BUFFER_IFLUSH.


    12. Subsection Non-Destructive Test of status on page Non-Destructive Test of status
    Added new procedures MPI_REQUEST_GET_STATUS_ANY, MPI_REQUEST_GET_STATUS_SOME, and MPI_REQUEST_GET_STATUS_ALL to query the statuses of multiple requests without freeing them.


    13. Section Decoding a Datatype and MINLOC and MAXLOC on pages Decoding a Datatype and MINLOC and MAXLOC.
    Added procedure MPI_TYPE_GET_VALUE_INDEX to query predefined datatype handles for pairs of value and index types to be usable in conjunction with MPI_MINLOC and MPI_MAXLOC. Added combiner MPI_COMBINER_VALUE_INDEX for unnamed type handles returned by MPI_TYPE_GET_VALUE_INDEX.


    14. Section Communicator Constructors on page Communicator Constructors.
    MPI_COMM_TYPE_RESOURCE_GUIDED was added as a new possible value for the split_type parameter of the MPI_COMM_SPLIT_TYPE procedure, as well as a new info key mpi_pset_name.


    15. Section Communicator Destructors on page Communicator Destructors.
    The definition of MPI_COMM_FREE was clarified.


    16. Section Communicator Info on page Communicator Info.
    A new info key was added, namely mpi_assert_strict_persistent_collective_ordering.


    17. Sections Communicator Info, Starting MPI Processes, The Sessions Model, Memory Allocation Info, Reserved Keys, Window Creation, and File Info on pages Communicator Info, Starting MPI Processes, The Sessions Model, Memory Allocation Info, Reserved Keys, Window Creation, and File Info.
    Added the ability to request support for, query support of, and assert usage of memory allocation kinds via two new info keys, mpi_memory_alloc_kinds and mpi_assert_memory_alloc_kinds.


    18. Section Naming Objects on page Naming Objects was amended to allow MPI_COMM_NULL, MPI_DATATYPE_NULL, and MPI_WIN_NULL to be passed to MPI_COMM_GET_NAME, MPI_TYPE_GET_NAME and MPI_WIN_GET_NAME, respectively.


    19. Section Inquire Hardware Resource Information on page Inquire Hardware Resource Information.
    Added new procedure MPI_GET_HW_RESOURCE_INFO.


    20. Section Error Codes and Classes on page Error Codes and Classes.
    Added new error class MPI_ERR_ERRHANDLER.


    21. Section Error Classes, Error Codes, and Error Handlers on page Error Classes, Error Codes, and Error Handlers.
    Add procedures MPI_REMOVE_ERROR_CLASS, MPI_REMOVE_ERROR_CODE, MPI_REMOVE_ERROR_STRING to complement the procedures adding error classes/codes/strings.


    22. Section Initialization on page Initialization.
    Relaxed the constraints on the windows for which shared memory can be queried using MPI_WIN_SHARED_QUERY to allow windows with flavor MPI_WIN_FLAVOR_CREATE and MPI_WIN_FLAVOR_ALLOCATE.


    23. Section Window Creation on page Window Creation.
    Added new info key mpi_accumulate_granularity to specify a desired synchronization granularity of accumulate operations.


    24. Section Window Destruction on page Window Destruction.
    Implementations may avoid synchronization of processes in MPI_WIN_FREE if the no_locks info key is set to true.


    25. Section General Active Target Synchronization on page General Active Target Synchronization.
    In Example General Active Target Synchronization, MPI_PUT has been removed from the list of procedures that may delay their return waiting for the call to MPI_WIN_POST to occur at the target. MPI RMA communication procedures are generally not intended to delay their return waiting for synchronization procedure calls to occur at the target.


    26. Section Semantics and Correctness on page Semantics and Correctness and Section Examples on page Examples.
    Clarified the use of MPI_WIN_SYNC for memory synchronization on shared memory.


    27. Section Binding MPI Tool Information Interface Variables to MPI Objects on page Binding MPI Tool Information Interface Variables to MPI Objects.
    The text specifying when entities of the MPI Tool Information Interface can be bound to objects during the object's lifetime was clarified.


    28. Section Handling Dropped Events on page Handling Dropped Events and Section Category Member Query Functions on page Category Member Query Functions.
    Behavior specified when the count of dropped events or category changes overflow, respectively.


    29. Annex Summary of the Semantics of all Operation-Related MPI Procedures on page Summary of the Semantics of all Operation-Related MPI Procedures.
    The annex has been completed with the operation-related MPI procedures for one-sided communication and some other rarely used scenarios. It is now integrated into the MPI standard.


PreviousUpNext
Up: Changes from Version 4.0 to Version 4.1 Next: Changes from Version 3.1 to Version 4.0 Previous: Fixes to Errata in Previous Versions of MPI


Return to MPI-4.1 Standard Index
Return to MPI Forum Home Page

(Unofficial) MPI-4.1 of November 2, 2023
HTML Generated on November 19, 2023