Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Differences between Standard and OpenPMIx #418

Open
rhc54 opened this issue Jul 27, 2022 · 2 comments
Open

Differences between Standard and OpenPMIx #418

rhc54 opened this issue Jul 27, 2022 · 2 comments

Comments

@rhc54
Copy link
Member

rhc54 commented Jul 27, 2022

This is a current snapshot of the differences between master/v4 branches of the Standard vs their equivalent branches in OpenPMIx. Skipping the stat structures (pmix_node_stat et al) and a couple of ABI-related attributes (which are present in both master branches), the list of differences includes:

Attributes:
PMIx Standard Missing: PMIX_BIND_PROGRESS_THREAD
PMIx Standard Missing: PMIX_BIND_REQUIRED
PMIx Standard Missing: PMIX_COLOCATE_NPERNODE
PMIx Standard Missing: PMIX_COLOCATE_NPERPROC
PMIx Standard Missing: PMIX_COLOCATE_PROCS
PMIx Standard Missing: PMIX_EVENT_ONESHOT
PMIx Standard Missing: PMIX_GROUP_ADD_MEMBERS
PMIx Standard Missing: PMIX_GROUP_INFO
PMIx Standard Missing: PMIX_GROUP_LOCAL_CID
PMIx Standard Missing: PMIX_IOF_TAG_DETAILED_OUTPUT
PMIx Standard Missing: PMIX_IOF_TAG_FULLNAME_OUTPUT
PMIx Standard Missing: PMIX_LOG_AGG
PMIx Standard Missing: PMIX_LOG_KEY
PMIx Standard Missing: PMIX_LOG_VAL
PMIx Standard Missing: PMIX_MYSERVER_URI
PMIx Standard Missing: PMIX_QUALIFIED_VALUE
PMIx Standard Missing: PMIX_WDIR_USER_SPECIFIED

Constants:
PMIx Standard Missing: PMIX_EQUAL
PMIx Standard Missing: PMIX_VALUE1_GREATER
PMIx Standard Missing: PMIX_VALUE2_GREATER
PMIx Standard Missing: PMIX_VALUE_COMPARISON_NOT_AVAIL
PMIx Standard Missing: PMIX_VALUE_INCOMPATIBLE_OBJECTS
PMIx Standard Missing: PMIX_VALUE_TYPE_DIFFERENT
PMIx Standard Missing: PMIX_INFO_PERSISTENT
PMIx Standard Missing: PMIX_INFO_QUALIFIER
PMIx Standard Missing: PMIX_DATA_BUFFER

Macros:
PMIx Standard Missing: PMIX_XFER_PROCID
PMIx Standard Missing: PMIX_INFO_SET_END
PMIx Standard Missing: PMIX_INFO_SET_PERSISTENT
PMIx Standard Missing: PMIX_INFO_SET_QUALIFIER
PMIx Standard Missing: PMIX_INFO_IS_PERSISTENT
PMIx Standard Missing: PMIX_INFO_IS_QUALIFIER
PMIx Standard Missing: PMIX_DATA_ARRAY_INIT

Functions:
PMIx Standard Missing: PMIx_Cpuset_destruct
PMIx Standard Missing: PMIx_Data_array_destruct
PMIx Standard Missing: PMIx_Info_list_insert
PMIx Standard Missing: PMIx_Value_compare
PMIx Standard Missing: PMIx_Value_comparison_string
PMIx Standard Missing: PMIx_Value_destruct

Datatypes:
PMIx Standard Missing: pmix_value_cmp_t

OpenPMIx also added a "const" qualifier in a few APIs to help people avoid pointless compiler warnings:

PMIx_Get_attribute_string(const char *attribute);
PMIx_Get_attribute_name(const char *attrstring);
PMIx_Info_string(const pmix_info_t *info);
PMIx_Value_string(const pmix_value_t *value);

@jjhursey jjhursey added this to the PMIx v4.2 Standard milestone Jul 27, 2022
@jjhursey
Copy link
Member

jjhursey commented May 11, 2023

We have CI in the pmix-tests repo to monitor the drift between OpenPMIx and the PMIx Standard. Instructions are below:

For all of the current items that have drifted we grouped them and filed issues to be handled:

To Do:

@jjhursey
Copy link
Member

The ABI checker tool might help here: pmix/pmix-abi#7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants