论文标题

提出的一致的例外处理blas和lapack

Proposed Consistent Exception Handling for the BLAS and LAPACK

论文作者

Demmel, James, Dongarra, Jack, Gates, Mark, Henry, Greg, Langou, Julien, Li, Xiaoye, Luszczek, Piotr, Pereira, Weslley, Riedy, Jason, Rubio-González, Cindy

论文摘要

数值异常可能是由溢出引起的,例如0或SQRT(-1)或收敛失败等操作是不可避免的,尤其是当软件用于不可预见的和困难的输入时。随着社会的越来越多方面的自动化,例如,自动驾驶汽车,健康监视器和网络物理系统更加普遍,它对设计有弹性的设计软件变得越来越重要,并以一致的方式对它们做出响应。需要一致性以允许用户构建也具有弹性和一致的高级软件(递归)。在本文中,我们探讨了广泛使用的BLA和LAPACK线性代数库的一致例外处理的设计空间,并指出了当前版本中各种不一致的例外情况的实例,并提出了一种新的设计,可以平衡一致性,复杂性,使用性,使用性和性能和性能。需要一些折衷方案,因为我们控制的不一致存在,包括在现有的供应商BLAS实现,不同的编程语言,甚至是同一编程语言的编译器之间。我们的调查中的用户请求非常多样化。我们还建议设计作为其他数值软件的可能模型,并欢迎对我们的设计选择评论。

Numerical exceptions, which may be caused by overflow, operations like division by 0 or sqrt(-1), or convergence failures, are unavoidable in many cases, in particular when software is used on unforeseen and difficult inputs. As more aspects of society become automated, e.g., self-driving cars, health monitors, and cyber-physical systems more generally, it is becoming increasingly important to design software that is resilient to exceptions, and that responds to them in a consistent way. Consistency is needed to allow users to build higher-level software that is also resilient and consistent (and so on recursively). In this paper we explore the design space of consistent exception handling for the widely used BLAS and LAPACK linear algebra libraries, pointing out a variety of instances of inconsistent exception handling in the current versions, and propose a new design that balances consistency, complexity, ease of use, and performance. Some compromises are needed, because there are preexisting inconsistencies that are outside our control, including in or between existing vendor BLAS implementations, different programming languages, and even compilers for the same programming language. And user requests from our surveys are quite diverse. We also propose our design as a possible model for other numerical software, and welcome comments on our design choices.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源