Skip to content

Level-Set factorization and solve for ILU0 on GPU - #1541

Open
victorapm wants to merge 9 commits into
ilu-devfrom
ilu/add_factorization_and_solve
Open

Level-Set factorization and solve for ILU0 on GPU#1541
victorapm wants to merge 9 commits into
ilu-devfrom
ilu/add_factorization_and_solve

Conversation

@victorapm

@victorapm victorapm commented May 11, 2026

Copy link
Copy Markdown
Contributor

From #1539

Contributes ILU0 factorization and level-set based solves for the work in #1470

I have stored some extra pointers and values needed for the graph partitioning, hopefully these are in the right place. The test on the Laplacian gives identical results to the existing ILU0 on CPU (and perturbing the implementation a little bit gives the wrong answer as a sanity check for running the code). No benchmarks of other matrices as of yet.

multitalentloes and others added 3 commits May 11, 2026 14:30
tested but not benchmarked
adds new fields storing the level sets
adds new gpu kernel for parallel factorization
adds new kernels for lower and upper triangular solves
matches regular ilu0 on test matrix (should do more validation!)
fixes discrepancy with existing ilu0 implementation
…olve

Level-Set factorization and solve for ILU0 on GPU
@victorapm
victorapm changed the base branch from master to ilu-dev May 11, 2026 20:42
@victorapm victorapm added the Run CI Label to trigger CI jobs label May 11, 2026
@victorapm

Copy link
Copy Markdown
Contributor Author

@multitalentloes, this looks good and ready to be merged! Thanks!

I just added a couple of fixes to avoid memory leaks and updated the code style a bit.

@victorapm
victorapm requested a review from rfalgout May 12, 2026 01:45
@multitalentloes

Copy link
Copy Markdown

Thanks for the fixes and improved coding-style!

@rfalgout rfalgout left a comment

Copy link
Copy Markdown
Contributor

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. I did not try to follow the algorithmic details. @liruipeng or @oseikuffuor1 should take a closer look. Thanks!

@victorapm

Copy link
Copy Markdown
Contributor Author

@liruipeng @oseikuffuor1 could you take a look at this PR? Thanks!

@oseikuffuor1 oseikuffuor1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@victorapm overall, this looks good to me. However, I think some multi precision functionality might be missing or incomplete (particularly for the GPU case). The diff also seems to be from ilu-dev and not master so perhaps these issues are already resolved in ilu-dev. As long as it passes the mup_check scripts cleanly, it is fine with me. Thanks!

@victorapm

Copy link
Copy Markdown
Contributor Author

Thanks @oseikuffuor1 ! That's right, the plan is to add incremental capabilities to ilu-dev via smaller pull requests like this one. Once the level-set ILU work is complete in ilu-dev, we will do the remaining touches like mup in the final PR (merge ilu-dev into master)

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

Labels

Run CI Label to trigger CI jobs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants