Reducing memory traffic is critical to accelerate Lattice QCD computations on modern processors, given that such computations are memory-bandwidth bound. A commonly used strategy is mixed-precision solvers, however, these require careful treatment to ensure stable convergence. We give an overview of the strategies employed in QUDA to stabilize mixed-precision variants of Conjugate Gradient (CG), and its multi-shift brethren. Through the use of customized numerical storage formats we can significantly improve upon the precision achievable compared to IEEE numerical formats, increasing both the solver precision and stability achievable at fixed word size. We give examples using BiCGStab(l) and multi-shift CG solvers using the HISQ operator.
@article{arxiv.2302.09224,
title = {Maximizing the Bang Per Bit},
author = {M. A. Clark and Dean Howarth and Jiqun Tu and Mathias Wagner and Evan Weinberg},
journal= {arXiv preprint arXiv:2302.09224},
year = {2023}
}