  Support for lower precision computation is becoming more common in
accelerator hardware due to lower power usage, reduced data movement and
increased computational performance. However, computational science and
engineering (CSE) problems require double precision accuracy in several
domains. This conflict between hardware trends and application needs has
resulted in a need for mixed precision strategies at the linear algebra
algorithms level if we want to exploit the hardware to its full potential while
meeting the accuracy requirements. In this paper, we focus on preconditioned
sparse iterative linear solvers, a key kernel in several CSE applications. We
present a study of mixed precision strategies for accelerating this kernel on
an NVIDIA V$100$ GPU with a Power 9 CPU. We seek the best methods for
incorporating multiple precisions into the GMRES linear solver; these include
iterative refinement and parallelizable preconditioners. Our work presents
strategies to determine when mixed precision GMRES will be effective and to
choose parameters for a mixed precision iterative refinement solver to achieve
better performance. We use an implementation that is based on the Trilinos
library and employs Kokkos Kernels for performance portability of linear
algebra kernels. Performance results demonstrate the promise of mixed precision
approaches and demonstrate even further improvements are possible by optimizing
low-level kernels.
