Skip to content

ASMStar: enable patch coloring#4912

Draft
pbrubeck wants to merge 12 commits intomainfrom
pbrubeck/patch-coloring
Draft

ASMStar: enable patch coloring#4912
pbrubeck wants to merge 12 commits intomainfrom
pbrubeck/patch-coloring

Conversation

@pbrubeck
Copy link
Contributor

@pbrubeck pbrubeck commented Feb 21, 2026

Description

Enables ASMStarPC and ASMVankaPC to group patches by color (non-overlapping vertex/Vanka-stars) into a block diagonal matrix. Coloring is enabled through the petsc option -pc_star_coloring.

As a benchmark consider the Poison equation on a 256x256 mesh solved with one process:

Solver     | Degree | Iterations | Time     
-----------------------------------------
ColorASM   |      3 |          7 | 4.3655
PCPatch    |      3 |          7 | 13.104
TinyASM    |      3 |          7 | 7.9988
PetscASM   |      3 |          7 | 76.184

Here all solvers are mathematically equivalent, and all of them except TinyASM use Cholmod for the Cholesky factorization of the patch matrices.

Depends on https://gitlab.com/petsc/petsc/-/merge_requests/9069

@pbrubeck pbrubeck marked this pull request as draft February 21, 2026 13:00
@pbrubeck pbrubeck force-pushed the pbrubeck/patch-coloring branch from 6c79c43 to 70f5212 Compare February 25, 2026 18:11
@pbrubeck pbrubeck force-pushed the pbrubeck/patch-coloring branch from 70f5212 to d8c498f Compare February 25, 2026 20:20
Copy link
Contributor

@rckirby rckirby left a comment

Choose a reason for hiding this comment

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

This is a great idea -- it looks like user just adds a new option to the dictionary if we want to turn it on?

Probably we should have some minimal simple tests, such as parameterizing existing tests of ASMStarPC and ASMVankaPC to turn the coloring option off and on?

@pbrubeck pbrubeck force-pushed the pbrubeck/patch-coloring branch 3 times, most recently from e738a9a to 67429d1 Compare March 9, 2026 17:32
@pbrubeck pbrubeck force-pushed the pbrubeck/patch-coloring branch from 67429d1 to 5349a7c Compare March 9, 2026 17:46
@pbrubeck pbrubeck force-pushed the pbrubeck/patch-coloring branch from ee4dd99 to 8e8d5da Compare March 16, 2026 12:06
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.

2 participants