BLAS和LAPACK一致的异常处理方案

摘要:使数值例外情况尽量减少是很困难的,特别是在使用软件处理不可预测和复杂数据时,可能会出现溢出、除以0或开平方根(-1)等操作,或者出现收敛失败的情况。随着更多社会领域的自动化,例如自动驾驶汽车、健康监测和物理仿真系统等等,设计具有异常恢复能力的软件,以及在面对异常时能够以一致的方式响应异常,变得越来越重要。为了使用户能够构建具有异常恢复和一致性的更高级别软件,一致性是必需的(递归地)。在本文中,我们探讨了广泛使用的BLAS和LAPACK线性代数库的一致性异常处理设计空间,指出了当前版本中各种不一致的异常处理实例,并提出了一个新的设计,该设计在一致性、复杂性、易用性和性能方面达到了平衡。由于我们无法控制预先存在的不一致性,这些不一致性包括现有供应商的BLAS实现、不同的编程语言,甚至是同一编程语言的编译器。而且我们从调查中获得的用户要求非常多样化。我们还将我们的设计提出为其他数值软件的可能模型,并欢迎对我们的设计选择提出评论。

作者:James Demmel, Jack Dongarra, Mark Gates, Greg Henry, Julien Langou, Xiaoye Li, Piotr Luszczek, Weslley Pereira, Jason Riedy, and Cindy Rubio-Gonz''alez

论文ID:2207.09281

分类:Mathematical Software

分类简称:cs.MS

提交时间:2022-07-20

PDF 下载: 英文版 中文版pdf翻译中