昇腾社区首页
中文
注册
开发者
下载

互推导关系

推导规则

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

类型推导的规则如下:

[object Object]

表 1 数据类型推导关系

数据类型 f32 f16 f64 bf16 s8 u8 s16 u16 s32 u32 s64 u64 bool c32 c64 c128
f32 f32 f32 f64 f32 f32 f32 f32 × f32 × f32 × f32 c64 c64 c128
f16 f32 f16 f64 f32 f16 f16 f16 × f16 × f16 × f16 c32 c64 c128
f64 f64 f64 f64 f64 f64 f64 f64 × f64 × f64 × f64 c64 c64 c128
bf16 f32 f32 f64 bf16 bf16 bf16 bf16 × bf16 × bf16 × bf16 c32 c64 c128
s8 f32 f16 f64 bf16 s8 s16 s16 × s32 × s64 × s8 c32 c64 c128
u8 f32 f16 f64 bf16 s16 u8 s16 × s32 × s64 × u8 c32 c64 c128
s16 f32 f16 f64 bf16 s16 s16 s16 × s32 × s64 × s16 c32 c64 c128
u16 × × × × × × × u16 × × × × × × × ×
s32 f32 f16 f64 bf16 s32 s32 s32 × s32 × s64 × s32 c32 c64 c128
u32 × × × × × × × × × u32 × × × × × ×
s64 f32 f16 f64 bf16 s64 s64 s64 × s64 × s64 × s64 c32 c64 c128
u64 × × × × × × × × × × × u64 × × × ×
bool f32 f16 f64 bf16 s8 u8 s16 × s32 × s64 × bool c32 c64 c128
c32 c64 c32 c64 c32 c32 c32 c32 × c32 × c32 × c32 c32 c64 c128
c64 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 c128

推导示例

  • 调用aclnnAdd接口时,如果输入参数的数据类型不一致,一个为float16,一个为float32,那么API内部就会将float16的数据类型转换成float32的数据类型然后进行计算。
  • 调用aclnnAdd接口时,如果输入参数的数据类型不一致,一个为float32,一个为bool,那么API内部就会将bool的数据类型转换成float32的数据类型然后进行计算。