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

Improve decomposition and geometry reading #817

Merged
merged 10 commits into from
May 20, 2024
Merged

Improve decomposition and geometry reading #817

merged 10 commits into from
May 20, 2024

Conversation

rupertnash
Copy link
Member

I failed to find the cause of @CharlesQiZhou's bug beyond "something in the domain decomposition".

This massive simplification is now passing tests and appears to be a bit faster although I've not done detailed scaling comparisons.

Charles - can you please check if it's working for you?

@rupertnash rupertnash force-pushed the debug-decomp branch 3 times, most recently from 841e74a to efbe76c Compare May 10, 2024 13:50
@rupertnash rupertnash force-pushed the debug-decomp branch 2 times, most recently from e2d5459 to cd76198 Compare May 20, 2024 08:52
rupertnash added 10 commits May 20, 2024 11:20
I could not understand how the OptimisedDecomposition class worked
while trying to track down a bug. This lead to a complete re-write of
how the distributed graph optimised by ParMETIS was constructed and
how the "moves" (i.e. which vertices need to go to which process) were
calculated.

This has been rewritten in a much simpler and slightly faster way,
using the net::SparseExchange class.

The GeometryReader is also much simpler and leans more on the octree
to avoid unnecessary work. The IO pattern is much simpler also now:
the GMY block data is now collectively streamed onto node "leader"
processes and then individual MPI processes copy out the parts they
care about.
@rupertnash rupertnash merged commit 7c2c48c into main May 20, 2024
18 checks passed
@rupertnash rupertnash deleted the debug-decomp branch May 20, 2024 11:59
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.

2 participants