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

Add option to compile the full timestepper in advance_state #1087

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

majosm
Copy link
Collaborator

@majosm majosm commented Nov 22, 2024

Adds an option to compile the whole timestepper in advance_state instead of just the RHS. Lowers the performance floor somewhat for prediction on lassen when using Euler timestepping (0.04s -> 0.014s).

Might be useful @MTCam @anderson2981. It's not without its pitfalls though: only use it with Euler integration (integrators with multiple RHS calls will construct a mega-DAG with multiple RHSes), and it's probably not going to play well with filtering as it's currently implemented in the prediction driver. Turn off the RHS compile in the driver before using this.

Questions for the review:

  • Is the scope and purpose of the PR clear?
    • The PR should have a description.
    • The PR should have a guide if needed (e.g., an ordering).
  • Is every top-level method and class documented? Are things that should be documented actually so?
  • Is the interface understandable? (I.e. can someone figure out what stuff does?) Is it well-defined?
  • Does the implementation do what the docstring claims?
  • Is everything that is implemented covered by tests?
  • Do you see any immediate risks or performance disadvantages with the design? Example: what do interface normals attach to?

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.

1 participant