Compared to the classical Lanczos algorithm, the $s$-step Lanczos variant has the potential to improve performance by asymptotically decreasing the synchronization cost per iteration. However, this comes at a cost. Despite being mathematically equivalent, the $s$-step variant is known to behave quite differently in finite precision, with potential for greater loss of accuracy and a decrease in the convergence rate relative to the classical algorithm. It has previously been shown that the errors that occur in the $s$-step version follow the same structure as the errors in the classical algorithm, but with the addition of an amplification factor that depends on the square of the condition number of the $O(s)-$dimensional Krylov bases computed in each outer loop. As the condition number of these $s$-step bases grows (in some cases very quickly) with $s$, this limits the parameter $s$ that can be chosen and thus limits the performance that can be achieved. In this work we show that if a select few computations in $s$-step Lanczos are performed in double the working precision, the error terms then depend only linearly on the conditioning of the $s$-step bases. This has the potential for drastically improving the numerical behavior of the algorithm with little impact on per-iteration performance. Our numerical experiments demonstrate the improved numerical behavior possible with the mixed precision approach, and also show that this improved behavior extends to the $s$-step CG algorithm in mixed precision.
翻译:与古典兰乔斯算法相比, 美元分步的兰乔斯变方程式有可能通过不折不扣地降低每迭次的同步成本来改善性能。 但是, 这样做是有成本的。 尽管数学等量, 美元分步的变方程式已知在有限精确度上表现得相当不同, 与古典算法相比, 可能更加准确性损失, 并降低趋同率。 以前已经表明, 美元分步的版本中发生的错误遵循与经典算法错误相同的结构, 但是加上一个放大系数, 取决于每个外环计算出的美元- 美元基体- 基列洛夫 基的状态数的正方形。 由于美元分步的基数随着美元基数的增加( 在某些情况下非常快), 这限制了可以选择的参数 $, 从而限制了可以实现的性能。 在这项工作中, 如果以美元分步的朗乔斯计算方法中选择的少数计算方法, 则以双倍的工作精确度计算, 以每秒基数的精确度计算为基数的平方的平方值计算, 那么, 的混合分步法的精确性行为条件则取决于我们混合基数的精确度的精确度的精确度的精确度, 。