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

Optimize no-subcycling AMR #2505

Merged
merged 25 commits into from
Jul 9, 2023

Conversation

maxpkatz
Copy link
Member

@maxpkatz maxpkatz commented Jun 18, 2023

PR summary

The approach described in #276 is implemented to optimize the performance of the case where no subcycling is occurring. When Poisson gravity is enabled, this allows for a single composite solve (across all levels) per coarse step, as opposed to multiple level solves, which are significantly less efficient, particularly on GPUs. This results in a significant performance boost for problems with Poisson gravity that do not subcycle.

PR checklist

  • test suite needs to be run on this PR
  • this PR will change answers in the test suite to more than roundoff level
  • all newly-added functions have docstrings as per the coding conventions
  • the CHANGES file has been updated, if appropriate
  • if appropriate, this change is described in the docs

@maxpkatz maxpkatz marked this pull request as ready for review July 8, 2023 15:49
@zingale
Copy link
Member

zingale commented Jul 8, 2023

tests: http://groot.astro.sunysb.edu/Castro/test-suite/gfortran/2023-07-08/index.html

wdmerger 3d changes by roundoff

@zingale zingale merged commit 262f79b into AMReX-Astro:development Jul 9, 2023
@maxpkatz maxpkatz deleted the optimal_subcycling_prep branch July 9, 2023 15:28
zingale pushed a commit that referenced this pull request Jul 18, 2023
As a follow-up to #2505, for non-subcycling advances we can skip burning if we're not on a "leaf" zone (i.e. a zone not covered by any fine levels). These zones will be updated by an avgDown() in post_timestep().
zingale pushed a commit that referenced this pull request Oct 17, 2023
The castro.use_post_step_regrid parameter doesn't make sense when we're not subcycling. By the time we finish the coarse step we will already have finished all of the fine timesteps (thanks to the recent change in #2505), so there's nothing left to do.
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