Open
Conversation
added 12 commits
August 11, 2025 20:47
Creating CSEL constants array for the string name of collective and comm hierarchy. These string values will be used during parsing of the JSON file, and printing of the CSEL tree node. Separating the implementation details CSEL tree printing function for the ease of maintenance.
Consolidate the POSIX coll algorithm enum definition under MPII. The JSON parsing no longer need separate functions for them.
Consolidate the CH4 coll algorithm enum definition under MPII. The JSON parsing no longer need separate functions for them.
Consolidate the OFI coll algorithm enum definition under MPII. The JSON parsing no longer need separate functions for them.
Creating internal function for creating, freeing and updating CSEL tree node. They are used to manipulating tree struction in future CSEL optimizations.
MPIR_CVAR_COLLECTIVE_SELECTION_REPORT controls how MPICH show the collective selection logic during init. It is turned off by default. The user can choose to print the CSEL in tree format or summary format (later commit).
The ANY node is needed in CSEL as the catch-all condition logically. Keeping the actual ANY node in the tree add additional pointer deference with no benefits. This commit will squash all ANY nodes during CSEL tree inititalization.
The LT conditions are internally converted to less-than-or-equal (LE). The LT conditions are redundant since it can always be represented in LE conditions. Having both of them complicates the logical and can create holes in matching ranges. It is deprecated in this PR, and only kept for backward compatibility.
Merging multple LE condition nodes into a single node for matching. LE conditions are stored in a sorted range-set which enables binary search when matches a value against these conditions.
7fedbf6 to
a596628
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
Author Checklist
Particularly focus on why, not what. Reference background, issues, test failures, xfail entries, etc.
Commits are self-contained and do not do two things at once.
Commit message is of the form:
module: short descriptionCommit message explains what's in the commit.
Whitespace checker. Warnings test. Additional tests via comments.
For non-Argonne authors, check contribution agreement.
If necessary, request an explicit comment from your companies PR approval manager.