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 –