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

PABLO: fix parallel 2:1 balance #426

Merged
merged 4 commits into from
Oct 19, 2023
Merged

Conversation

andrea-iob
Copy link
Member

Before starting balancing a partitioned tree, it is necessary to exchange the adaption markers.

@andrea-iob andrea-iob force-pushed the pablo.fix.parallel.2.to.1.balance branch from 53069cc to 7565f32 Compare October 17, 2023 15:22
Copy link
Contributor

@ksamouchos ksamouchos left a comment

Choose a reason for hiding this comment

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

I've used this branch in immerflow to run the NACA0012 and the 3D sphere test case with a wide range of processors from 1 to 24. I don't see any problem.

// Balance 2:1 the tree
//
// After the first step only ghost octants are checked for balance, that's because
// during this stemps we only need to propagate the marker across the processes.
Copy link
Member

Choose a reason for hiding this comment

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

"this stemps"?

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed.

Copy link
Member

@marcocisternino marcocisternino left a comment

Choose a reason for hiding this comment

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

Hard to see in a real case, but I suppose that in the previous version, internals were not properly balanced because of lack in information from ghosts. Now the algorithm seems more correct.

@andrea-iob andrea-iob force-pushed the pablo.fix.parallel.2.to.1.balance branch from 7565f32 to 9b72e42 Compare October 18, 2023 19:53
The first 2:1 balancing was only checking internal octants, however
the balancing algortihm uses marker information from the neighbours
of the checked octants and the neighbours could be ghosts octants.
It is therefore necessary to exchange the adaption markers before
starting balancing a partitioned tree.
@andrea-iob andrea-iob force-pushed the pablo.fix.parallel.2.to.1.balance branch from 9b72e42 to e13889a Compare October 19, 2023 08:03
@andrea-iob
Copy link
Member Author

I changed the commit message to better explain why we need to exchange marker information before starting balancing the tree.

@andrea-iob andrea-iob merged commit 8294bc1 into master Oct 19, 2023
1 check passed
@andrea-iob andrea-iob deleted the pablo.fix.parallel.2.to.1.balance branch October 19, 2023 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants