Line smoother (block Jacobi-block tridiagonal)
Created by: ambrad
This issue will track the line smoother development.
Goals:
- Performance parity with an app-native impl on CPU/KNL, and (obviously) performance portability to GPU.
- Using the splitting A = M + N, with M the block Jacobi-block tridiag preconditioner, do the matvec Nx rather than Ax.
- Cleanly separate symbolic and numeric phases; maximize what is done in symbolic and minimize what is done in numeric.
- Use the new batch routines in KokkosKernels.
Work will proceed in the fork https://github.com/ambrad/Trilinos/tree/linesmoother
@trilinos/ifpack2 @kyungjoo-kim @srajama1