互推导关系
推导规则
当一个API(如aclnnAdd、aclnnMul等)输入的Tensor数据类型不一致时,API内部会推导出一个数据类型,将输入数据转换成该数据类型进行计算。

- 为方便描述,表格中使用的数据类型是简写形式,代表的含义:ACL_FLOAT(f32)、ACL_FLOAT16(f16)、ACL_DOUBLE(f64)、ACL_BF16(bf16)、ACL_INT8(s8)、ACL_UINT8(u8)、ACL_INT16(s16)、ACL_UINT16(u16)、ACL_INT32(s32)、ACL_UINT32(u32)、ACL_INT64(s64)、ACL_UINT64(u64)、ACL_BOOL(bool)、ACL_COMPLEX32(c32)、ACL_COMPLEX64(c64)、ACL_COMPLEX128(c128)。
- 表格里表头和最左侧一列分别表示待推导的两个输入数据类型,表格中对应位置表示推导出的数据类型。
- NA表示这两种类型不能进行推导计算。
- 当输入数据类型为bool与其他任意数据类型(非u16、u32、u32),其推导出的数据类型为其他任意数据类型。当输入数据类型为bool与u16、u32、u64其中一个,均不支持数据类型推导。
- 当输入数据类型为u16与u16,其推导出的数据类型仍为u16。当输入数据类型为u16与非u16的任意数据类型,不支持数据类型推导。
- 当输入数据类型为u32与u32,其推导出的数据类型仍为u32。当输入数据类型为u32与非u32的任意数据类型,不支持数据类型推导。
- 当输入数据类型为u64与u64,其推导出的数据类型仍为u64。当输入数据类型为u64与非u64的任意数据类型,不支持数据类型推导。
数据类型 |
f32 |
f16 |
f64 |
bf16 |
s8 |
u8 |
s16 |
s32 |
s64 |
c32 |
c64 |
c128 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
f32 |
f32 |
f32 |
f64 |
f32 |
f32 |
f32 |
f32 |
f32 |
f32 |
c64 |
c64 |
c128 |
f16 |
f32 |
f16 |
f64 |
f32 |
f16 |
f16 |
f16 |
f16 |
f16 |
c32 |
c64 |
c128 |
f64 |
f64 |
f64 |
f64 |
f64 |
f64 |
f64 |
f64 |
f64 |
f64 |
c64 |
c64 |
c128 |
bf16 |
f32 |
f64 |
f64 |
bf16 |
bf16 |
bf16 |
bf16 |
bf16 |
bf16 |
c32 |
c64 |
c128 |
s8 |
f32 |
f16 |
f64 |
bf16 |
s8 |
s16 |
s16 |
s32 |
s64 |
c32 |
c64 |
c128 |
u8 |
f32 |
f16 |
f64 |
bf16 |
s16 |
u8 |
s16 |
s32 |
s64 |
c32 |
c64 |
c128 |
s16 |
f32 |
f16 |
f64 |
bf16 |
s16 |
s16 |
s16 |
s32 |
s64 |
c32 |
c64 |
c128 |
s32 |
f32 |
f16 |
f64 |
bf16 |
s32 |
s32 |
s32 |
s32 |
s64 |
c32 |
c64 |
c128 |
s64 |
f32 |
f16 |
f64 |
bf16 |
s64 |
s64 |
s64 |
s64 |
s64 |
c32 |
c64 |
c128 |
c32 |
c64 |
c32 |
c64 |
c32 |
c32 |
c32 |
c32 |
c32 |
c32 |
c32 |
c64 |
c128 |
c64 |
c64 |
c64 |
c64 |
c64 |
c64 |
c64 |
c64 |
c64 |
c64 |
c64 |
c64 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
c128 |
推导示例
- 调用aclnnAdd接口时,如果两个输入参数的数据类型不一致,一个为float16,一个为float32,那么API内部就会将float16的数据类型转换成float32的数据类型然后进行计算。
- 调用aclnnAdd接口时,如果两个输入参数的数据类型不一致,一个为float32,一个为bool,那么API内部就会将bool的数据类型转换成float32的数据类型然后进行计算。
父主题: 基本概念