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

Deterministic 2 #162

Merged
merged 72 commits into from
Oct 4, 2023
Merged

Deterministic 2 #162

merged 72 commits into from
Oct 4, 2023

Conversation

larsgottesbueren
Copy link
Member

@larsgottesbueren larsgottesbueren commented Sep 28, 2023

This PR contains

  1. some non-determinism fixes in the coarsener
  2. a parallelization of the block-pair-wise move approval algorithm
  3. adds fixed vertex support for the deterministic code
  4. adds the new gain types to the deterministic code
  • removes some old unused code.

…if balance == 0 --> also use the revert from back approach
…lization over block-pairs in combination with parallelization per block-pair as well as sequential over block-pairs with parallel per block-pair (for larger balancing ranges)
@larsgottesbueren larsgottesbueren marked this pull request as draft September 29, 2023 10:58
Copy link
Member

@kittobi1992 kittobi1992 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, only some nitpicks.

Currently, using fixed vertices in deterministic mode will lead to a NonSupportedOperationException. Remove the corresponding restriction in partitioner.cpp. Also make sure that using another gain function in deterministic mode will not silently switch to km1. I have not found the corresponding part in the code where this is enforced. If this is already possible ignore this comment.

@larsgottesbueren
Copy link
Member Author

LGTM, only some nitpicks.

Currently, using fixed vertices in deterministic mode will lead to a NonSupportedOperationException. Remove the corresponding restriction in partitioner.cpp. Also make sure that using another gain function in deterministic mode will not silently switch to km1. I have not found the corresponding part in the code where this is enforced. If this is already possible ignore this comment.

There is no silent switch to km1. There is a silent switch to the deterministic refiner, but the refiner names don't pertain to an objective function (as in sequential kahypar).

@larsgottesbueren larsgottesbueren marked this pull request as ready for review October 2, 2023 10:25
Copy link
Collaborator

@N-Maas N-Maas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, only the issue with GainComputation should be fixed before merging.

@larsgottesbueren larsgottesbueren merged commit bf24f75 into master Oct 4, 2023
15 checks passed
@larsgottesbueren larsgottesbueren deleted the deterministic branch November 16, 2023 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants