-
Notifications
You must be signed in to change notification settings - Fork 566
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
MueLu: Merge *_kokkos factories and their classical counterparts #11658
Comments
I can rename the matrix-free files since I made them. |
Also |
@GrahamBenHarper For Aggregates_kokkos, yes, in principle it could just be a matter of accessing a view instead of a Vector. Are you volunteering? |
My schedule's tight right now with a deadline on this coming Tuesday, but after that I should definitely be able to find some time :) |
We've got a few tests failing in Trilinos integration builds because the factory names are used in XML files and the CoarseMapFactory_kokkos name is no longer recognized. Could we get a deprecation period where both the base factory names and the _kokkos versions are recognized in XML input? |
@vbrunini That should be easy to do. I'll get back to you. |
@trilinos/muelu
Enhancement
We duplicated a lot of algorithms and code paths for use without and with Kokkos. Since MueLu effectively requires Kokkos now, we can start to remove these code duplications. Some removals are quite safe, but others will require a lot of work since the two code branches have diverged significantly.
NOTE: #11682 should be resolved before tackling anything involving coupled aggregation. Removed in #11687
Xpetra_ENABLE_KOKKOS_REFACTOR
andMueLu_ENABLE_KOKKOS_REFACTOR
Xpetra,MueLu,ShyLU: Drop kokkos refactor #11610UtilitiesKokkos
intoUtilitiesBase
andUtilities
MueLu: Utilities cleanup #11641For cases where the two paths are significantly different, one possible first step is to merge the files and based on the value of
use kokkos refactor
to take one code path or the other. This would allow to reduce the amount of code duplication. This approach does not work when the factories have outright different inputs and outputs.The following classes have been merged, but still need to be rewritten to make sure that non-Kokkos and Kokkos code path have the same functionality:
The text was updated successfully, but these errors were encountered: