OpenPMIx

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

View the Project on GitHub

Downloads   Privacy 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