Skip to content

DG parallelization#1415

Merged
lihanyu97 merged 13 commits into
developfrom
li/DGparallel_Hdiv
Aug 5, 2025
Merged

DG parallelization#1415
lihanyu97 merged 13 commits into
developfrom
li/DGparallel_Hdiv

Conversation

@lihanyu97

Copy link
Copy Markdown
Contributor

This is work in progress to parallelize DG scheme relying MFEM's parallel communication infrastructure (ExchangeFaceNbrData). The first phase of this work to configure residual computation in parallel is complete. The main effort is to properly prepare input data that includes ghost dofs for Functional and record the correct index in element restriction to ensure the evaluation and AD at each quadrature point accesses the right ghost dof value. The comment associated with each major implementation is included.

Please point out anything that is obviously wrong or clumsy, and I will avoid them in the next phase.

@tupek2 tupek2 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

So, maybe I'm going dense... but where is the test that you get the same field solution on both sides of the dg interface for pre-specified linear/quadratic fields?

Looks like amazing progress. Are you intending to push this in incrementally, or wait until the jacobian is done?

Comment thread src/serac/numerics/functional/element_restriction.cpp Outdated
Comment thread src/serac/numerics/functional/element_restriction.cpp Outdated
Comment thread src/serac/numerics/functional/element_restriction.cpp Outdated
Comment thread src/serac/numerics/functional/functional.hpp
Comment thread src/serac/numerics/functional/functional.hpp Outdated
Comment thread src/serac/numerics/functional/functional.hpp Outdated
Comment thread src/serac/numerics/functional/functional.hpp Outdated
Comment thread src/serac/numerics/functional/tests/dg_restriction_operators.cpp Outdated
Comment thread src/serac/numerics/functional/tests/dg_restriction_operators.cpp Outdated
Comment thread src/serac/numerics/functional/tests/functional_basic_dg.cpp
@lihanyu97

lihanyu97 commented Jun 26, 2025

Copy link
Copy Markdown
Contributor Author

So, maybe I'm going dense... but where is the test that you get the same field solution on both sides of the dg interface for pre-specified linear/quadratic fields?

Looks like amazing progress. Are you intending to push this in incrementally, or wait until the jacobian is done?

The new test is here: https://github.com/LLNL/serac/blob/42804174f653ba821530ff9d09210a401aa283e6/src/serac/numerics/functional/tests/dg_ghost_face_index.cpp

I would say let's push everything in after jacobian is fixed bacause this PR is making some fundamental changes on the typedef.
mfem::Mesh --> mfem::ParMesh
mfem::FiniteElementSpace --> mfem::ParFiniteElementSpace

@lihanyu97 lihanyu97 marked this pull request as ready for review July 13, 2025 04:53
@lihanyu97 lihanyu97 changed the title WIP: DG parallelization DG parallelization Jul 13, 2025
@lihanyu97

lihanyu97 commented Jul 13, 2025

Copy link
Copy Markdown
Contributor Author

@tupek2 @btalamini This DG PR is ready for review. All debug footprints (std::out / mpi::out) are removed.

@lihanyu97 lihanyu97 added the ready for review Ready for active inspection by reviewers label Jul 13, 2025
Comment thread src/serac/numerics/functional/tests/dg_ghost_face_index.cpp Outdated
Comment thread src/serac/numerics/functional/tests/dg_ghost_face_index.cpp Outdated
Comment thread src/serac/numerics/functional/tests/domain_tests.cpp
Comment thread src/serac/numerics/functional/typedefs.hpp Outdated
Comment thread src/serac/numerics/functional/domain.cpp
Comment thread src/serac/numerics/functional/domain.hpp Outdated
Comment thread src/serac/numerics/functional/domain.hpp
Comment thread src/serac/numerics/functional/domain.cpp Outdated
Comment thread src/serac/numerics/functional/element_restriction.cpp
Comment thread src/serac/numerics/functional/functional_qoi.inl Outdated
Comment thread src/serac/numerics/functional/functional.hpp Outdated
Comment thread src/serac/numerics/functional/domain.cpp Outdated
Comment thread src/serac/numerics/functional/tests/dg_ghost_face_index.cpp
@lihanyu97 lihanyu97 merged commit 32828cc into develop Aug 5, 2025
13 checks passed
@lihanyu97 lihanyu97 deleted the li/DGparallel_Hdiv branch August 5, 2025 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready for review Ready for active inspection by reviewers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants