Skip to content

Conversation

@atb1995
Copy link
Collaborator

@atb1995 atb1995 commented May 12, 2025

Time parallel SDC and RIDC implementations. Splits SDC code into deferred_correction and parallel_dc. All should inherit from one overall DC class (Parallel_RIDC from RIDC and Parallel_SDC from SDC).

Parallel SDC uses the diagonal preconditioners to compute solutions separately on each node, meaning we have M + 1 communicators.

Parallel RIDC pipelines the corrections, by having the number of nodes (M+1) being much greater than the number of corrections. It uses equispaced nodes on coarse intervals. Each correction (and the initial low order solution) are computed in parallel, meaning we have K + 1 communicators.

Serial RIDC has the reduced stencil and full stencil implementations, only the reduced stencil is used for Parallel RIDC.

The Firedrake Ensemble communicator is used for time parallelisation.

@atb1995 atb1995 self-assigned this May 12, 2025
@atb1995 atb1995 added the enhancement Involves adding a new capability label May 12, 2025
@atb1995 atb1995 requested review from connorjward and jshipton May 14, 2025 14:50
@atb1995 atb1995 marked this pull request as ready for review May 14, 2025 14:56
@atb1995 atb1995 added the parallel Relates to parallel capability label May 14, 2025
tommbendall
tommbendall previously approved these changes Aug 20, 2025
Copy link
Contributor

@tommbendall tommbendall left a comment

Choose a reason for hiding this comment

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

I haven't checked line-by-line if the implementation matches the maths, but have worked through the tests and comments and am happy that this looks thorough!

I think we're planning on waiting to merge but I'm happy to approve it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Involves adding a new capability parallel Relates to parallel capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants