Performance impact of precision reduction in sparse linear systems solvers.

Performance impact of precision reduction in sparse linear systems solvers.
复制标题

DOI:
10.7717/peerj-cs.778
复制
发表时间:
2022
期刊:
PeerJ. Computer science
影响因子:
--
通讯作者:
Tisseur F
Tisseur F
中科院分区:
其他
文献类型:
--
作者:
Zounon M;Higham NJ;Lucas C;Tisseur F

文献摘要

相似文献

众所周知,降低精度算法可以用来加速稠密线性系统的求解。典型的例子是混合精度算法,该算法通过以低于工作精度的精度分解矩阵来减少密集线性系统的并行求解器的执行时间和能量消耗。关于稀疏线性系统并行求解器中精度降低的效率,人们知之甚少,现有的工作主要集中在单核心实验上。我们评估了使用单精度算法来求解使用多核的双精度稀疏线性系统的好处。我们同时考虑了直接方法和迭代方法,重点是对LU分解和矩阵向量积的关键分量使用单精度。我们的结果表明,与双精度LU分解相比,预期的加速比为2,只有对于非常大的测试问题才能获得。我们指出了导致加速比不佳的两个关键因素。首先,我们发现单精度稀疏LU分解容易由于次正态数的干扰而导致严重的性能损失。我们确定了一种机制,该机制允许级联填充生成低于正常的数字,并表明自动将次法线刷新为零可以避免性能损失。第二个因素是在求解器的分析和重新排序阶段中缺乏并行性,并且在这些阶段中没有浮点运算。对于迭代求解器,我们发现对于大多数矩阵,与使用双精度相比,在单精度下计算或应用不完全分解预条件算子至多提供适度的性能优势。我们还发现,对于矩阵向量乘积核,使用单精度比双精度核平均加速比为1.5。在这两种情况下,都需要进行某种形式的改进,以将单精度结果提高到双精度精度,这将降低性能收益。
It is well established that reduced precision arithmetic can be exploited to accelerate the solution of dense linear systems. Typical examples are mixed precision algorithms that reduce the execution time and the energy consumption of parallel solvers for dense linear systems by factorizing a matrix at a precision lower than the working precision. Much less is known about the efficiency of reduced precision in parallel solvers for sparse linear systems, and existing work focuses on single core experiments. We evaluate the benefits of using single precision arithmetic in solving a double precision sparse linear system using multiple cores. We consider both direct methods and iterative methods and we focus on using single precision for the key components of LU factorization and matrix–vector products. Our results show that the anticipated speedup of 2 over a double precision LU factorization is obtained only for the very largest of our test problems. We point out two key factors underlying the poor speedup. First, we find that single precision sparse LU factorization is prone to a severe loss of performance due to the intrusion of subnormal numbers. We identify a mechanism that allows cascading fill-ins to generate subnormal numbers and show that automatically flushing subnormals to zero avoids the performance penalties. The second factor is the lack of parallelism in the analysis and reordering phases of the solvers and the absence of floating-point arithmetic in these phases. For iterative solvers, we find that for the majority of the matrices computing or applying incomplete factorization preconditioners in single precision provides at best modest performance benefits compared with the use of double precision. We also find that using single precision for the matrix–vector product kernels provides an average speedup of 1.5 over double precision kernels. In both cases some form of refinement is needed to raise the single precision results to double precision accuracy, which will reduce performance gains.