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

warpx.roundrobin_sfc: A runtime parameter to control distribution mapping #4909

Open
wants to merge 3 commits into
base: development
Choose a base branch
from

Conversation

WeiqunZhang
Copy link
Member

The default is false. If it's true, AMReX's RRSFC strategy will be used to override the default SFC strategy used by amrex::AmrCore. The motivation for this is that this might mitigate the load imbalance issue during initialization by avoiding putting neighboring boxes on the same process.

@WeiqunZhang WeiqunZhang requested a review from RemiLehe May 3, 2024 00:27
@WeiqunZhang WeiqunZhang force-pushed the make_distromap branch 2 times, most recently from 99d9517 to 6f15ec5 Compare May 3, 2024 00:31
…ping

The default is false. If it's true, AMReX's RRSFS strategy will be used to
override the default SFC strategy used by amrex::AmrCore. The motivation for
this is that this might mitigate the load imbalance issue during
initialization by avoiding putting neighboring boxes on the same process.
@ax3l ax3l requested review from ax3l and n01r May 3, 2024 22:27
@ax3l ax3l added the component: load balancing Load balancing strategies, optimization etc. label May 3, 2024
@@ -1157,6 +1159,8 @@ WarpX::ReadParameters ()
maxLevel() == 0 || !do_current_centering,
"Finite-order centering of currents is not implemented with mesh refinement"
);

pp_warpx.query("roundrobin_sfc", roundrobin_sfc);
Copy link
Member

Choose a reason for hiding this comment

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

This might need a user-facing entry in parameters.rst.

Copy link
Member Author

Choose a reason for hiding this comment

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

done

@@ -219,6 +219,8 @@ bool WarpX::do_device_synchronize = true;
bool WarpX::do_device_synchronize = false;
#endif

bool WarpX::roundrobin_sfc = false;
Copy link
Member

Choose a reason for hiding this comment

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

We need to add control for this from PICMI, too.

Copy link
Member Author

Choose a reason for hiding this comment

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

done

@ax3l ax3l requested a review from dpgrote May 3, 2024 22:32
@ax3l ax3l added the component: initialization Changes related to the initialization of the simulation label May 3, 2024
@dpgrote
Copy link
Member

dpgrote commented May 4, 2024

Looks good. Would his affect the runtime, slowing the MPI communication since neighboring boxes will be far away from each other?

@ax3l ax3l self-assigned this May 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: initialization Changes related to the initialization of the simulation component: load balancing Load balancing strategies, optimization etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants