Low-precision arithmetic, in particular half-precision (16-bit) floating-point arithmetic, is now available in commercial hardware. It is anticipated that exascale machines, capable of 10^18 floating point operations per second, will expose a range of hardware precisions through GPUs and other accelerators.
Using lower precision can offer significant savings in computation and communication costs with proportional savings in energy. However, lower precision implies less accurate computations (e.g., machine epsilon for IEEE half precision is around 10^-4).
A goal is therefore to develop mixed precision algorithms, which use low and high precision in different parts of the computation to achieve both performance and accuracy. The efficient use of such mixed-precision algorithms in numerical linear algebra can provide significant acceleration to scientific computing.
We present initial work on this topic, which involves developing a three-stage mixed precision iterative refinement solver for linear systems. This solver combines existing mixed-precision approaches to balance performance and accuracy.