asc.language.adv.Matmul.set_hf32
- Matmul.set_hf32(enable_hf32: PlainValue | bool = False, trans_mode: PlainValue | int = 0) None
在纯Cube模式(只有矩阵计算)下,设置是否使能HF32(矩阵乘计算时可采用的数据类型)模式。使能后,在矩阵乘计算时, float32数据类型会转换为hf32数据类型,可提升计算性能,但同时也会带来精度损失。
对应的Ascend C函数原型
__aicore__ inline void SetHF32(bool enableHF32 = false, int32_t transMode = 0)
参数说明
enable_hf32:配置是否开启HF32模式,默认值false(不开启)。
trans_mode:配置在开启HF32模式时,float转换为hf32时所采用的ROUND模式。默认值0。
约束说明
本接口仅支持在纯Cube模式下调用
调用示例
asc.adv.register_matmul(pip, mm, tiling) # A/B/C/BIAS类型是float mm.set_tensor_a(gm_a) mm.set_tensor_b(gm_b) mm.set_bias(gm_bias) mm.set_hf32(True) mm.iterate_all(gm_c) mm.set_hf32(False)