OpenPMIx

Reference Implementation of the Process Management Interface Exascale (PMIx) standard

View the Project on GitHub

Downloads   Privacy Policy   Security Policy   Publications   Community   Contribute

PMIx offers limited backward compatibility with the PMI-1 and PMI-2 definitions. Support for those definitions is provided by translating the called function into its PMIx equivalent – e.g., a call to PMI_Get invokes a wrapper that translates the provided input parameters, calls PMIx_Get, translates the returned PMIx values into a form compatible with the PMI-1 definition, and returns them.

The following table shows the supported and unsupported functions for both sets of definitions. An ‘X’ indicates that the function is supported, while a ‘-‘ indicates it is not supported.

Notes:

PMIx Backward Compatibility Support

PMI-1 PMI-2
PMI_Init X PMI2_Init X
PMI_Initialized X PMI2_Initialized X
PMI_Finalize X PMI2_Finalize X
PMI_Abort X PMI2_Abort X
PMI_KVS_Put X PMI2_Job_Spawn X
PMI_KVS_Commit X PMI2_Job_GetId X
PMI_KVS_Get X PMI2_Job_GetRank X
PMI_Barrier X PMI2_Info_GetSize X
PMI_Get_size X PMI2_Job_Connect X
PMI_Get_rank X PMI2_Job_Disconnect X
PMI_Get_universe_size X PMI2_KVS_Put X
PMI_Get_appnum X PMI2_KVS_Fence X
PMI_Publish_name X PMI2_KVS_Get X
PMI_Unpublish_name X PMI2_Info_GetNodeAttr X
PMI_Lookup_name X PMI2_Info_GetNodeAttrIntArray
PMI_Get_id X PMI2_Info_PutNodeAttr X
PMI_Get_kvs_domain_id X PMI2_Info_GetJobAttr X
PMI_Get_id_length_max X PMI2_Info_GetJobAttrIntArray
PMI_Get_clique_size X PMI2_Nameserv_publish X
PMI_Get_clique_ranks X PMI2_Nameserv_lookup X
PMI_KVS_Get_my_name X PMI2_Nameserv_unpublish X
PMI_KVS_Get_name_length_max X
PMI_KVS_Get_key_length_max X
PMI_KVS_Get_value_length_max X
PMI_KVS_Create
PMI_KVS_Destroy
PMI_KVS_Iter_first
PMI_KVS_Iter_next
PMI_Spawn_multiple X
PMI_Parse_option
PMI_Args_to_keyval
PMI_Free_keyvals
PMI_Get_options