已合并
【feat】: 根据环境变量去掉div高精度 #2120
WangYanMale创建于 11 天前
【feat】: 根据环境变量去掉div高精度 #2120
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 WangYanMale 的贡献)11 天前 添加了label:enhancement
11 天前 创建了 pull request,commit 33e3296e
atomgit-bot
11 天前 评论:
11 天前 评论:
变更摘要
本 PR 新增一个环境变量开关,用于在生成 Div 微码 API 调用时去掉高精度除法模式:当 AUTOFUSE_DFX_FLAGS 环境变量中包含 remove_high_precision_mode=div 时,AscendC::MicroAPI::Div 的模板参数不再携带 &high_precision_div_mode。在 ascir_utils.cpp 中新增解析与判断逻辑,并在 micro_div_api_call.cpp 的 MicroDivApiCall::Generate 中按开关条件化模板参数输出,同时补充了对应的单元测试。
主要改动
- 新增环境变量解析能力: 在
autofuse/ascir/meta/ascir_utils.cpp中新增IsRemoveHighPrecisionDivModeParam(支持--前缀及=两侧空格)和IsRemoveHighPrecisionDivMode()(按;分隔解析AUTOFUSE_DFX_FLAGS),并在ascir_utils.h中声明该接口。 - Div 代码生成条件化: 在
autofuse/v35/codegen/micro_api_call/micro_div_api_call.cpp的MicroDivApiCall::Generate中,当输入为DT_FLOAT时,仅当IsRemoveHighPrecisionDivMode()返回 false 才输出, &high_precision_div_mode模板参数。 - 新增单元测试:
autofuse/tests/ut/ascir/ascir_utils_unittest.cc新增AscirUtilsEnvFlagUT用例,覆盖开关的命中与未命中(如div2、multiply、缺省值)等解析场景。 - 新增代码生成测试:
autofuse/tests/v35/ut/codegen/micro_api_call/test_codegen_micro_div_api_call.cpp新增MicroDivApiCall_Load_Div_Float_RemoveHighPrecisionMode,验证设置环境变量后生成AscendC::MicroAPI::Div<float>(vreg_1, vreg_0, p_reg);(不含高精度模式参数)。


不准确?
atomgit-bot
11 天前 评论:
11 天前 评论:
11 天前 添加了label:cann-cla/yes
此处折叠了55条消息 查看更多
wangxiaotian995
10 天前 评论:
10 天前 评论:
/lgtm


10 天前 添加了label:lgtm
yangyongqiang
10 天前 评论:
10 天前 评论:
/approve


10 天前 添加了label:approved
10 天前 合入了pull request
Pull Request
描述
根据环境变量去掉div高精度
变更类型
请选择本次引入的变更类型:
关联的Issue
如何测试
执行带Div的运算,观察是否开启了高精度模式
核对清单
其他信息
NA