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
Trilinos: use Tpetra without enabling Epetra #12774
Comments
@mayrmt Yes, that something we should change. We will be happy to take any patch that get us closer to have full support for |
@mayrmt How much success have you had using |
I think that's the key question: all of the |
@Rombur Yes, if Trilinos could get rid of @masterleinad @bangerth So far, I have adapted CMake to force the user to either choose I'm now guarding At the moment, I'm struggling with |
@mayrmt Thanks for working on this! As for template parameters: If you just want to convert the existing Epetra wrappers, then think For |
There are plans to get ride of the |
|
I'd also be interested as I would like to use ShyLU_DD's preconditioners for Krylow methods. Additionally I saw that Tpetra has NUMA optimizations which would be nice for HPC |
Current status
When configuring with
DEAL_II_WITH_TRILINOS
, it is automatically assumed, that Trilinos enables theEpetra
linear algebra stack. In addition, one can enable theTpetra
stack viaDEAL_II_TRILINOS_WITH_TPETRA
(optional).Epetra is always enabled. Hence, one cannot use Tetra only.
Problem description
In applications, one can only use one linear algebra stack. When moving to Tpetra (the more modern stack), why should one be forced to provide Trilinos with both Epetra and Tpetra?
Possible solution
At first glance, I see two options:
I can't estimate the required changes to realize this. I have done the CMake part for option 1 locally (and can push if desired), but haven't adapted the source code yet. There are quite many places where one would need to distinguish between Epetra and Tpetra. I'm wondering if there's a cleaner and more clever way than just scattering
#ifdef DEAL_II_TRILINOS_WITH_EPETRA
/#ifdef DEAL_II_TRILINOS_WITH_TPETRA
all over the code base.The text was updated successfully, but these errors were encountered: