Skip to content

原子操作边界值汇总

概述

本节汇总介绍了原子操作接口在边界值输入下的两类输出结果,以下内容针对如下型号生效:

  • Atlas A3 训练系列产品/Atlas A3 推理系列产品
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品

原子操作接口在边界值输入下,有两类输出结果:

  • INF/NAN模式(非饱和模式)

    计算结果是inf、-inf、nan的三类场景,按原样输出。

  • 饱和模式

    通过接口SetSaturationFlag进行设置,饱和模式下:inf和-inf会被饱和为MAX和MIN进行输出,nan会被饱和为0进行输出。

原子操作接口边界值输入下的具体计算结果

注:下表中的MAX/MIN对应操作数对应数据类型下的最大值和最小值。

表1 SetAtomicAdd特殊值/边界值输入的计算结果

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)/-inf-inf-65504.0
half-65504.0(MIN)65504.0(MAX)0.00.0
half-65504.0(MIN)0.0/-0.0-65504.0-65504.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)infinf65504.0
half65504.0(MAX)65504.0(MAX)/infinf65504.0
half65504.0(MAX)0.0/-0.065504.065504.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)-inf-inf-65504.0
half0.00.0/-0.00.00.0
half0.0nannan0.0
half0.0infinf65504.0
half0.0-inf-inf-65504.0
half-0.0-0.0-0.0-0.0
half-0.0nannan0.0
half-0.0infinf65504.0
half-0.0-inf-inf-65504.0
halfnannan/inf/-infnan0.0
halfinfinfinf65504.0
halfinf-infnan0.0
half-inf-inf-inf-65504.0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表2 SetAtomicMax特殊值/边界值输入的计算结果

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(INF/NAN模式)
dst的元素取值
(饱和模式)
half-65504.0(MIN)-65504.0(MIN)/-inf-65504.0-65504.0
half-65504.0(MIN)65504.0(MAX)65504.065504.0
half-65504.0(MIN)0.00.00.0
half-65504.0(MIN)-0.0-0.0-0.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)infinf65504.0
half65504.0(MAX)65504.0(MAX)/0.0/-0.0/-inf65504.065504.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)infinf65504.0
half0.00.0/-0.0/-inf0.00.0
half0.0nannan0.0
half0.0infinf65504.0
half-0.0-0.0/-inf-0.0-0.0
half-0.0nannan0.0
half-0.0infinf65504.0
halfnannan/inf/-infnan0.0
halfinfinf/-infinf65504.0
half-inf-inf-inf-65504.0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

表3 SetAtomicMin特殊值/边界值输入的计算结果说明

src/dst的数据类型src0的元素取值src1的元素取值dst的元素取值
(寄存器非饱和模式)
dst的元素取值
(寄存器饱和模式)
half-65504.0(MIN)-65504.0(MIN)/65504.0(MAX)/0.0/-0.0/inf-65504.0-65504.0
half-65504.0(MIN)nannan0.0
half-65504.0(MIN)-inf-inf-65504.0
half65504.0(MAX)65504.0(MAX)/inf65504.065504.0
half65504.0(MAX)0.00.00.0
half65504.0(MAX)-0.0-0.0-0.0
half65504.0(MAX)nannan0.0
half65504.0(MAX)-inf-inf-65504.0
half0.00.0/inf0.00.0
half0.0-0.0-0.0-0.0
half0.0nannan0.0
half0.0-inf-inf-65504.0
half-0.0-0.0/inf-0.0-0.0
half-0.0nannan0.0
half-0.0-inf-inf-65504.0
halfnannan/inf/-infnan0.0
halfinfinfinf65504.0
halfinf-inf-inf-65504.0
half-inf-inf-inf-65504.0

注:dst的元素取值(INF/NAN模式)列结果,与IEEE754理论结果一致。

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区