Fix issue when sequential column permutations vary between processes#144
Open
sebastiangrimberg wants to merge 1 commit intoxiaoyeli:masterfrom
Open
Fix issue when sequential column permutations vary between processes#144sebastiangrimberg wants to merge 1 commit intoxiaoyeli:masterfrom
sebastiangrimberg wants to merge 1 commit intoxiaoyeli:masterfrom
Conversation
…dcast in order to avoid possibly different results on different processes
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.
I ran into an issue using the
METIS_AT_PLUS_Areordering that the computed column permutation was different on different MPI processes, causing issues down the line in the symbolic factorization. This was using Scotch's METIS compatibility library, where it appears that recent versions of Scotch may produce slightly different results for calls toMETIS_NodeNDwith the same inputs.This PR resolves this issue by computing the column permutation on the root process and broadcasting to all other processes. This is the same approach taken by, for example, STRUMPACK when not using parallel reordering methods.