鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

浮点异常检测简介

毕昇编译器提供程序运行时浮点运算异常检测功能,并支持打印异常产生时的函数堆栈信息。该功能旨在提升HPC应用中浮点计算异常问题的定位效率。由于检测效率限制,当前仅支持检测到浮点异常产生的函数,堆栈信息中栈顶函数默认打印最后一行的行号,具体异常行号在函数中的位置需用户分析。浮点异常检测的类型包括:

其中FE_INEXACT默认关闭,其他异常检测默认开启

FE_INVALID(0x00000001)

无效异常:如sqrt(-1)

FE_DIVBYZERO(0x00000002)

除0异常:如1.0/0.0

FE_UNDERFLOW(0x00000004)

下溢异常:如DBL_MIN/pow(2.0,52)

FE_OVERFLOW(0x00000008)

上溢异常:如DBL_MAX*2.0

FE_INEXACT(0x00000010)(默认关闭)

不精确异常:浮点需要取舍,如1.0/10.0

FE_ALL_EXCEPT(0x0000001F)

以上所有异常并集