Currently the Inner-Boundary Asc matrix (in COO format) is constructed in the same loop section as the tridiagonal matrices.
It is essential for GPU execution to separate these constructions since the COO Matrix lives on Host Space while the tridiagonal solvers will live on either Host or Device space.
This separation is already implemented for SmootherTake and ExtrapolatedSmootherTake.
Missing: SmootherGive and ExtrapolatedSmootherGive.
Additional benefit: Reuse Coo_Mumps_Solver class instead if implementing a new Mumps solver for each Smoother type.
Currently the Inner-Boundary Asc matrix (in COO format) is constructed in the same loop section as the tridiagonal matrices.
It is essential for GPU execution to separate these constructions since the COO Matrix lives on Host Space while the tridiagonal solvers will live on either Host or Device space.
This separation is already implemented for SmootherTake and ExtrapolatedSmootherTake.
Missing: SmootherGive and ExtrapolatedSmootherGive.
Additional benefit: Reuse Coo_Mumps_Solver class instead if implementing a new Mumps solver for each Smoother type.