-
-
Notifications
You must be signed in to change notification settings - Fork 182
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
Extend to_dense
for parallel use cases
#3354
Merged
Merged
Conversation
This file contains 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
schnellerhase
changed the title
Extend Aug 19, 2024
to_dense
extended for parallel use casesto_dense
for parallel use cases
schnellerhase
force-pushed
the
to_dense
branch
from
August 19, 2024 09:41
a38fe87
to
e9cf2c9
Compare
jorgensd
reviewed
Aug 19, 2024
jorgensd
reviewed
Aug 19, 2024
Need to include this in another PR, so I'll squash |
Previously only the diagonal (local-to-local) interaction block of the CSR matrix was outputted, this is extended to the complete locally owned row structure, allowing for paralell debugging. When run in sequential the behavior of `to_dense` is not altered Extend test case for parallel to dense usage Adapt export Adapt test Apply suggestion
schnellerhase
force-pushed
the
to_dense
branch
from
August 21, 2024 08:13
9153698
to
bf5d2e5
Compare
github-merge-queue
bot
removed this pull request from the merge queue due to a conflict with the base branch
Aug 27, 2024
auto-merge was automatically disabled
August 28, 2024 08:21
Head branch was pushed to by a user without write access
garth-wells
approved these changes
Sep 6, 2024
schnellerhase
added a commit
to schnellerhase/dolfinx
that referenced
this pull request
Sep 11, 2024
* Add parallel support to `to_dense` Previously only the diagonal (local-to-local) interaction block of the CSR matrix was outputted, this is extended to the complete locally owned row structure, allowing for paralell debugging. When run in sequential the behavior of `to_dense` is not altered Extend test case for parallel to dense usage Adapt export Adapt test Apply suggestion * Switch to array instead of vector * Make use of new insert function --------- Co-authored-by: Chris Richardson <[email protected]>
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.
The (debug) functionality
to_dense
of the CSR matrix is extended to support the usage in parallel scenarios.Before it returned the local-local block of the matrix (which in sequential is the whole matrix), i.e. the interaction between local rows and local cols.
In parallel runs, this drops quite a lot of information, especially we loose all interactions across processes. This is now changed, to
to_dense
returning the full/global dense rows that are owned by the process. This means the previous behavior is still reproducible by filtering for the columns of choice, but if needed the full parallel block is now available in a dense format.This will be needed to allow for a PR regarding the transfer operators of a multigrid implementation - see here for an example of this use case.