Mixed-Precision Preconditioners in Parallel Domain Decomposition Solvers
Mixed-Precision Preconditioners in Parallel Domain Decomposition Solvers
复制标题
并行域分解求解器中的混合精度预处理器
DOI:
--
复制
发表时间:
2008
期刊:
影响因子:
--
通讯作者:
L. Watson
中科院分区:
文献类型:
--
作者:
L. Giraud;A. Haidar;L. Watson
Motivated by accuracy reasons, many large-scale scientific applications and industrial numerical simulation codes are fully implemented in 64-bit floatingpoint arithmetic (double precision). On the other hand, many recent processor architectures exhibit single precision (32-bit) computational power that is significantly higher than for double precision. One recent and significant example is the IBM CELL multiprocessor that is projected to have a peak performance near 256 Gflops in single precision and “only” 26 GFlops in double precision. We might legitimately ask whether all the calculation should be performed in double precision or if some pieces could be carried out in single precision. This leads to the design of mixed-precision algorithms. However, the switch from double precision operations into single precision operations increases rounding error. Thus we have to be careful when choosing single precision arithmetic so that the introduced rounding error or the accumulation of these rounding errors does not produce a meaningless solution. For the solution of linear systems, mixed-precision algorithms (single/double, double/quadruple) have been studied in dense and sparse linear algebra mainly in the framework of direct methods (see [5, 4, 7, 8]). For such approaches, the factorization is performed in low precision, and, for not too ill-conditioned matrices, a few steps of iterative refinement in high precision arithmetic is enough to recover a solution to full double precision accuracy (see [4]). For nonlinear systems, though, mixedprecision arithmetic is the essence of algorithms such as inexact Newton. For linear iterative methods, we might wonder if such mixed-precision algorithms can be designed. The most natural way, in Krylov subspace methods, is to implement all but the preconditioning steps in high precision. The preconditioner is expected to “approximatively” solve the original problem, so