Acta Numerica ( IF 16.3 ) Pub Date : 2022-06-09 , DOI: 10.1017/s0962492922000022 Nicholas J. Higham , Theo Mary
Today’s floating-point arithmetic landscape is broader than ever. While scientific computing has traditionally used single precision and double precision floating-point arithmetics, half precision is increasingly available in hardware and quadruple precision is supported in software. Lower precision arithmetic brings increased speed and reduced communication and energy costs, but it produces results of correspondingly low accuracy. Higher precisions are more expensive but can potentially provide great benefits, even if used sparingly. A variety of mixed precision algorithms have been developed that combine the superior performance of lower precisions with the better accuracy of higher precisions. Some of these algorithms aim to provide results of the same quality as algorithms running in a fixed precision but at a much lower cost; others use a little higher precision to improve the accuracy of an algorithm. This survey treats a broad range of mixed precision algorithms in numerical linear algebra, both direct and iterative, for problems including matrix multiplication, matrix factorization, linear systems, least squares, eigenvalue decomposition and singular value decomposition. We identify key algorithmic ideas, such as iterative refinement, adapting the precision to the data, and exploiting mixed precision block fused multiply–add operations. We also describe the possible performance benefits and explain what is known about the numerical stability of the algorithms. This survey should be useful to a wide community of researchers and practitioners who wish to develop or benefit from mixed precision numerical linear algebra algorithms.
中文翻译:
数值线性代数中的混合精度算法
今天的浮点算术领域比以往任何时候都更广泛。虽然科学计算传统上使用单精度和双精度浮点运算,但硬件中越来越多地可用半精度,软件中支持四倍精度。较低精度的算术会提高速度并降低通信和能源成本,但会产生相应低精度的结果。更高的精度更昂贵,但即使谨慎使用也可能带来巨大的好处。已经开发了多种混合精度算法,它们将较低精度的卓越性能与较高精度的更好精度相结合。其中一些算法旨在提供与以固定精度运行的算法相同质量的结果,但成本要低得多;其他人使用更高的精度来提高算法的准确性。这项调查处理了数值线性代数中的广泛混合精度算法,包括直接和迭代,用于矩阵乘法、矩阵分解、线性系统、最小二乘、特征值分解和奇异值分解等问题。我们确定了关键的算法思想,例如迭代细化、使精度适应数据以及利用混合精度块融合乘加运算。我们还描述了可能的性能优势,并解释了关于算法数值稳定性的已知信息。这项调查应该对希望开发混合精度数值线性代数算法或从中受益的广大研究人员和从业者社区有用。