-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add example for reordering for preconditioned solvers #1465
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #1465 +/- ##
===========================================
- Coverage 91.34% 91.33% -0.01%
===========================================
Files 688 688
Lines 56100 56098 -2
===========================================
- Hits 51243 51239 -4
- Misses 4857 4859 +2 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some nit
examples/reordered-preconditioned-solver/reordered-preconditioned-solver.cpp
Outdated
Show resolved
Hide resolved
examples/reordered-preconditioned-solver/reordered-preconditioned-solver.cpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, mostly nits.
auto solver = solver_gen->generate(A_reordered); | ||
|
||
// Solve system | ||
solver->apply(b_reordered, x_reordered); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Somehow, I thought there would be a wrapper that automatically applies the reordering to the input matrices and vectors. Was something like that planned?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but not yet implemented
examples/reordered-preconditioned-solver/reordered-preconditioned-solver.cpp
Outdated
Show resolved
Hide resolved
auto b = gko::read<vec>(std::ifstream("data/b.mtx"), exec); | ||
auto x = gko::read<vec>(std::ifstream("data/x0.mtx"), exec); | ||
|
||
auto reordering = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: maybe allow switching between reorderings by a CLI argument.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is going beyond the scope of this example
need to add description in the pr page |
examples/reordered-preconditioned-solver/reordered-preconditioned-solver.cpp
Outdated
Show resolved
Hide resolved
- use ParILU - documentation Co-authored-by: Marcel Koch <marcel.koch@kit.edu> Co-authored-by: Yuhsiang M. Tsai <yhmtsai@gmail.com> Co-authored-by: Pratik Nayak <pratik.nayak@kit.edu>
fe6e715
to
abe1701
Compare
SonarCloud Quality Gate failed.
|
Extends the
preconditioned-solver
example by a reordering of the system matrix.