文档
注册

--allow_hf32

功能说明

该参数预留,当前版本暂不支持

是否启用HF32自动代替float32数据类型的功能,当前版本该参数仅针对Conv类算子与Matmul类算子生效。

HF32是华为昇腾推出的专门用于算子内部计算的单精度浮点类型,与其他常用数据类型的比较如下图所示。可见,HF32与float32支持相同的数值范围,但尾数位精度(11位)却接近FP16(10位)。通过降低精度让HF32单精度数据类型代替原有的float32单精度数据类型,可大大降低数据所占空间大小,实现性能的提升。
图1 HF32与其他数据类型比较

关联参数

  • 针对同一个算子,如果通过--op_precision_mode参数配置了enable_hi_float_32_execution或enable_float_32_execution,该场景下不建议再与--allow_hf32参数同时使用,若同时使用,则优先级如下:

    op_precison_mode(ByNodeName,按节点名称设置精度模式) > allow_hf32 > op_precison_mode(ByOpType,按算子类型设置精度模式)

  • 由于--allow_hf32是使用HF32自动代替float32,要想该参数生效,必须保证被使能的算子输入或者输出类型为float32。 由于--precision_mode_v2参数默认值为fp16,原始网络模型中算子类型为float32时会被强制转为float16类型,该场景下使用--allow_hf32参数不生效,建议修改--precision_mode_v2参数值为origin--precision_mode参数默认值为force_fp16,建议修改为must_keep_origin_dtype或者force_fp32)。

参数取值

参数值:

  • true:针对Conv类算子与Matmul类算子,使能FP32数据类型自动转换为HF32数据类型的功能。

    具体哪些算子使能了该功能,请参见CANN软件安装后文件存储路径的opp/built-in/op_impl/ai_core/tbe/impl_mode/allow_hf32_matmul_t_conv_t.ini,该文件不支持用户修改。

  • false:针对Conv类算子与Matmul类算子,不使能FP32数据类型自动转换为HF32数据类型的功能。

    具体哪些算子未使能该功能,请参见CANN软件安装后文件存储路径的opp/built-in/op_impl/ai_core/tbe/impl_mode/allow_hf32_matmul_f_conv_f.ini,该文件不支持用户修改。

参数默认值:针对Conv类算子,使能FP32转换为HF32;针对Matmul类算子,不使能FP32转换为HF32。

推荐配置及收益

无。

示例

--allow_hf32=true

若在模型转换日志中能搜索到“ge.exec.allow_hf32”则说明参数设置生效。

支持的型号

Atlas A2训练系列产品/Atlas 800I A2推理产品

依赖约束

无。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词