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

CCE-GH executable #2323

Closed

Conversation

moxcodes
Copy link
Contributor

@moxcodes moxcodes commented Jun 13, 2020

Proposed changes

Add the combined GH-CCE executable. This also refactors the GH executable into a 'base' metavariables to avoid code duplication as much as possible.

Types of changes:

  • Bugfix
  • New feature
  • Refactor

Component:

  • Code
  • Documentation
  • Build system
  • Continuous integration

Code review checklist

  • The PR passes all checks, including unit tests and clang-tidy.
    For instructions on how to perform the CI checks locally refer to the Dev
    guide on the Travis CI
    .
  • The code is documented and the documentation renders correctly. Run
    make doc to generate the documentation locally into BUILD_DIR/docs/html.
    Then open index.html.
  • The code follows the stylistic and code quality guidelines listed in the
    code review guide.

Dependencies

@moxcodes moxcodes changed the title Cce gh executable gh gts CCE-GH executable Jun 13, 2020
@moxcodes moxcodes added dependent Needs a different PR to be merged in first in progress Don't review, used for sharing code and getting feedback labels Jun 13, 2020
@moxcodes moxcodes force-pushed the cce_gh_executable_gh_gts branch 2 times, most recently from d7864f9 to 475a30a Compare June 15, 2020 18:37
@moxcodes
Copy link
Contributor Author

moxcodes commented Jul 8, 2020

The CI failure here is most likely due to running out of memory on the github CI virtual machines, so this PR will have to wait until the DataBox simplifications are complete so that the build is less expensive.

@moxcodes moxcodes removed the in progress Don't review, used for sharing code and getting feedback label Jul 8, 2020
@geoffrey4444
Copy link
Contributor

Would anyone object to squashing this one?

@geoffrey4444
Copy link
Contributor

Could you please fix the conflicts?

@moxcodes
Copy link
Contributor Author

moxcodes commented Jul 9, 2020

rebased on develop, fixed all the conflicts.
Cheers!

@moxcodes
Copy link
Contributor Author

Rebased on develop and fixed conflicts

@moxcodes moxcodes force-pushed the cce_gh_executable_gh_gts branch 6 times, most recently from 2848720 to 1b4c1a5 Compare October 27, 2020 22:25
@moxcodes
Copy link
Contributor Author

Now dependent on #2555, but the good news is that the optimizations in that PR are enough to get CI to run to completion on this one.

@moxcodes moxcodes removed the dependent Needs a different PR to be merged in first label Nov 24, 2020
@moxcodes
Copy link
Contributor Author

Rebased on develop, no longer dependent.
Cheers!

@kidder
Copy link
Member

kidder commented Dec 1, 2020

@geoffrey4444 @markscheel please look at

@kidder
Copy link
Member

kidder commented Dec 21, 2020

@geoffrey4444 @markscheel please look at

@moxcodes this needs a rebase

@moxcodes moxcodes force-pushed the cce_gh_executable_gh_gts branch 3 times, most recently from cb3242e to 727ad4c Compare August 2, 2021 16:15
@moxcodes moxcodes removed dependent Needs a different PR to be merged in first in progress Don't review, used for sharing code and getting feedback labels Aug 2, 2021
@moxcodes
Copy link
Contributor Author

moxcodes commented Aug 2, 2021

I've updated this now, and added a handful of commits that were necessary to fix changes in the interface logic from time stepping and interpolator changes. The new commits are:

Reorder Register phase to before self-start
Add optional template argument for sublists of StepChoosers
Relax constraints on source tags for Horizon
Use self-start specific interface manager during self-start
Use LTS in CCE regardless of whether it is used for DG
Remove duplicates when adding classes to factory creation 
Change CCE slab size after self start

I'm happy to split some of these smaller preparatory commits out into a separate PR if that would be easier for the reviewers -- I just thought I'd put them here to begin with, because they are all related to making the CCE system work in tandem with GH.

@moxcodes moxcodes added the in progress Don't review, used for sharing code and getting feedback label Aug 4, 2021
@moxcodes
Copy link
Contributor Author

moxcodes commented Aug 4, 2021

We're going to try to incorporate changes from #3355 and #3409 so that the CCE side doesn't need to do quite so much to change slab sizes after self-start.

@moxcodes moxcodes added dependent Needs a different PR to be merged in first and removed in progress Don't review, used for sharing code and getting feedback labels Aug 10, 2021
- previous alterations only fixed one of the function overloads, causing
  inconsistent target points during some executions.
The `receive_data` calls appropriately restart the algorithm execution.

This change allows phase changes from quiescence detection due to
inactivity (i.e. no more data being supplied by the GH elements); without
terminating at the stage in which the component waits for data, the Algorithm
generates an error if a phase change occurs while the CCE component is inactive.

We want to permit such phase changes, because the CCE component is in a safe
state for balancing or checkpointing when it is inactive and waiting for data.
This is already implicitly assumed because we explicitly invoke
`ChangeStepSize` during CCE evolution.
@moxcodes
Copy link
Contributor Author

On the plus side, due to the new dense output features, the CCE-GH executable will now support local time-stepping, and independently varies the step size.
However, it also required some significant refactors, so this PR is dependent again.

@kidder
Copy link
Member

kidder commented Dec 9, 2023

@knelli2 can this PR be closed or is there still something we haven't implemented yet?

@knelli2
Copy link
Contributor

knelli2 commented Dec 9, 2023

We have a GH+CCE executable now. We don't have a BBH+CCE executable yet, but it's unclear if we actually want that (except maybe for CCM). And that would be a whole separate PR anyways. So I'll go ahead and close this PR.

@knelli2 knelli2 closed this Dec 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependent Needs a different PR to be merged in first
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants