3#include <Kokkos_Core.hpp>
21template <
typename ExecSpace>
26 using BatchedRHS = Kokkos::View<double**, Kokkos::LayoutRight, ExecSpace>;
31 std::size_t m_batch_size;
MatrixBatch superclass for managing a collection of linear systems.
Definition matrix_batch.hpp:23
std::size_t batch_size() const
Get the batch size of the linear problem.
Definition matrix_batch.hpp:76
std::size_t size() const
Get the size of the square matrix corresponding to a single batch in one of its dimensions.
Definition matrix_batch.hpp:66
virtual void setup_solver()=0
Perform a pre-process operation on the solver.
MatrixBatch(const std::size_t batch_size, const std::size_t mat_size)
The constructor for MatrixBatch class.
Definition matrix_batch.hpp:39
Kokkos::View< double **, Kokkos::LayoutRight, ExecSpace > BatchedRHS
The type of a Kokkos::View storing batched right-hand sides. Second dimenion is batch dimension.
Definition matrix_batch.hpp:26
virtual ~MatrixBatch()=default
Destruct.
virtual void solve(BatchedRHS b) const =0
Solve the multiple right-hand sides linear problem Ax=b inplace.