Description
Currently, the general Kokkos-Kernels solver KokkosLapack::gesv() is used as the direct linear solver within MIRCO::nonlinearSolver(). However, the input matrix is symmetric positive definite, so a Cholesky Factorization-based solver (called posv() in LAPACK, MAGMA, etc.) should instead be used, as it is 2x as fast. This would greatly benefit performance, as the linear solver is responsible for the greatest share of the total execution time for large problems.
The issue is that Kokkos does not currently implement this function. So, this may only be possible in the future. Alternatively, LAPACK and MAGMA (or CuSolver) could be used directly in place of Kokkos-Kernels, but this is a fairly low-level task, and at that point it might as well be implemented in Kokkos-Kernels or everyone to use.
Related Issues and Merge Requests