Skip to content

Conversation

@victorapm
Copy link
Contributor

@victorapm victorapm commented Dec 29, 2025

This PR implements the core infrastructure for computing overlapping subdomains in ParCSR matrices. This is the first step towards implementing overlapping Schwarz preconditioners in hypre.

Main changes are given below:

  • par_csr_overlap.h: Defines the hypre_OverlapData structure and associated accessor macros to store extended subdomain information.
  • par_csr_overlap.c: Implements the overlap computation logic, including:
    • hypre_OverlapDataCreate and hypre_OverlapDataDestroy.
    • hypre_ParCSRMatrixComputeOverlap: Determines extended row indices for a given overlap order.
    • hypre_ParCSRMatrixGetExtendedRows: Handles MPI communication to retrieve external matrix rows.
    • hypre_ParCSRMatrixBuildExtendedMatrix: Constructs the local extended matrix.
  • src/parcsr_mv/CMakeLists.txt: Added new source files to the build system.
  • src/parcsr_mv/protos.h: Added prototypes for the new functions.
  • src/parcsr_mv/par_csr_matrix.c: Minor cleanup in error handling logic.

TODOs

  • Test MPI neighbors of neighbors (Tests 3, 6, 7 in test_csr_overlap.c)
  • Variable naming
  • Initial timings

*--------------------------------------------------------------------------*/

HYPRE_Int
hypre_ParCSRMatrixExtractLocalOverlap(hypre_ParCSRMatrix *A,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Consider hypre_ParCSRMatrixCreateLocalOverlap

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Changed to hypre_ParCSRMatrixCreateExtendedMatrix

@victorapm victorapm marked this pull request as draft January 2, 2026 17:51
@victorapm victorapm marked this pull request as ready for review January 6, 2026 16:52
@victorapm
Copy link
Contributor Author

@liruipeng @rfalgout I'm refactoring the test driver that I added and will open a separate PR for it.

This PR is ready for review when you have time. Thanks!

Copy link
Contributor

@rfalgout rfalgout left a comment

Choose a reason for hiding this comment

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

This looks good to me, Victor. Thanks!

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.

3 participants