Low precision arithmetic, in particular half precision floating point arithmetic, is now available in commercial hardware. Using lower precision can offer significant savings in computation and communication costs with proportional savings in energy. Motivated by this, there has been a renewed interest in mixed precision iterative refinement for solving linear systems $Ax=b$, and new variants of GMRES-based iterative refinement have been developed. Each particular variant with a given combination of precisions leads to different condition number-based constraints for convergence of the backward and forward errors, and each has different performance costs. The constraints for convergence given in the literature are, as an artifact of the analyses, often overly strict in practice, and thus could lead a user to select a more expensive variant when a less expensive one would have sufficed. In this work, we develop a multistage mixed precision iterative refinement solver which aims to combine existing mixed precision approaches to balance performance and accuracy and improve usability. For an initial combination of precisions, the algorithm begins with the least expensive approach and convergence is monitored via inexpensive computations with quantities produced during the iteration. If slow convergence or divergence is detected using particular stopping criteria, the algorithm switches to use a more expensive, but more reliable variant. A novel aspect of our approach is that, unlike existing implementations, our algorithm first attempts to use ``stronger'' solvers for the solution update before resorting to increasing the precision(s). In some scenarios, this can avoid the need to refactorize the matrix in higher precision. We perform extensive numerical experiments on random dense problems and problems from real applications which confirm the benefits of the multistage approach.
翻译:低精度算术,特别是半精密浮点算术,现在可以在商业硬件中找到。使用低精度可以大大节省计算和通信成本,同时节省能源。为此,人们重新对混合精密迭代精细精细的解决线性系统的兴趣已经增加,以美元=b$为基础,并开发了基于GMRES的新的迭代精细变体。每种特定变体,加上一定的精准组合,都会导致基于条件的数限制,以调和后向和前向错误,而且每个变异都有不同的性成本。文献中的趋同限制是,作为分析的手工艺,通常在实践上过于严格,因此,在成本较低时,可以导致用户选择更昂贵的更昂贵的变异变量。在这项工作中,我们开发了一个多精准的混合精准迭代精度精度改进软件,目的是将现有的混合精度方法结合起来,平衡性能和准确性,提高可用性能。对于精度的精度,算法从最廉价的计算方法开始,并用精确的计算方法加以监测。如果用特定的精度计算方法来测,则在实践上比较精确,那么慢的趋近的趋近的趋近的趋近的趋近的趋近,那么,那么,那么,则需要的变法在不断的变法的精确的变法的变法则在不断的变法的变法方法中,在不断的变的变的变的变的变的变法中进行。