-
Notifications
You must be signed in to change notification settings - Fork 14
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
TridiagSolver (local): embed row permutation in rank1 solver #936
Conversation
Note: Permutation is done in a slightly different way due to different optimization requirements between local and distributed. In the latter one, in order to avoid additional (and unnecessary) communications, the permutation is done in the first steps of the rank1-solver, and all other steps have to take this into account. On the other hand, in the local implementation the permutation is done in the last step, since there is no reason to do it immediately, keeping rank1-solver "clean" from permutations till the very end. This also introduces a difference for |
cec3b83
to
e728046
Compare
cscs-ci run |
Codecov Report
❗ Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more. @@ Coverage Diff @@
## master #936 +/- ##
==========================================
- Coverage 93.20% 93.19% -0.01%
==========================================
Files 136 136
Lines 8327 8318 -9
Branches 1081 1083 +2
==========================================
- Hits 7761 7752 -9
Misses 391 391
Partials 175 175
|
cscs-ci run |
768a2b1
to
677b346
Compare
cscs-ci run |
Distributed and local implementations have slightly diverged in the last months.
This PR addresses the main (and probably the only ones) differences. With #831 distributed implementation got row permutations and
setUnitDiag
embedded in rank1 solution, removing the need of explicitly doing so just before doing the gemm. Local implementation was still doing the permutation separately.With this PR both
setUnitDiag
and row permutation happen during rank1 solver also for the local implementation.