已合并
fix: avoid quantized flip registration for aclnn extensions #38786
hz893创建于 6月17日
fix: avoid quantized flip registration for aclnn extensions #38786
已合并
Pull Request已成功合入, 合并人@ascend-robot
(感谢 hz893 的贡献)ascend-robot
6月17日 评论:
6月17日 评论:
当前仓库存在以下 保护分支 :
| Protected Branch | Version | Release |
|---|---|---|
| master | ||
| v2.7.1-26.1.0 | ||
| v2.7.1 | ||
| v2.10.0 | ||
| v2.9.0 | ||
| v2.12.0-26.1.0 | ||
| v2.11.0-26.1.0 | ||
| v2.10.0-26.1.0 | ||
| v2.9.0-26.1.0 | ||
| v2.12.0 | ||
| v2.11.0 | ||
| ci-test | ||
| sync-pr28113--to-v2.9.0 |
评论 /sync <branch1> <branch2> ... 可将当前 PR 修改同步到其它分支(创建同步 PR):
a) 如果当前 PR 是 Open 状态,同步操作将延迟到 PR 被合并时执行
b) 如果当前 PR 已经 Merged,将立即执行同步操作
注意:
- /sync 命令可以指定同步到多个分支,仅最后一个 /sync 命令生效
- 如果创建的同步 PR 不正确,可通过向同步 PR 的源分支提交轻量级 PR 完善,或使用 /close 命令关闭


6月17日 添加了label:ci-pipeline-running
ascend-robot
6月17日 评论:
6月17日 评论:
此处折叠了44条消息 查看更多
chengpeng25
6月18日 评论:
6月18日 评论:
/lgtm


6月18日 添加了label:approvedlgtm
6月18日 合入了pull request
ascend-robot
6月18日 评论:
6月18日 评论:
流水线 pytorch_gitcode_PR_multiVersion#10937 [ commitID:d888c1f3 ] 运行失败


【合入来源】
【修改方案】
QuantizedRegister的 header 和 extra impl 注册从静态配置改为 helper 构造。ACLNN_EXTENSION_SWITCH置位时,判定当前为外部 ACLNN extension codegen 场景,不生成 https://gitcode.com/Ascend/pytorch/pull/36068/commit 引入的QuantizedFlipKernelNpu.hinclude 和m.impl("flip", TORCH_FN(at_npu::native::quantized_flip));注册。ACLNN_EXTENSION_SWITCH未置位时,保留原有 torch_npu 自身 quantized NPU flip dispatch 行为不变。ACLNN_EXTENSION_SWITCH的原因:现有 torchnpugen/op-plugin/autograd/custom 相关 codegen 已使用该变量标识 ACLNN extension 客户扩展生成场景,fla_npu 的gen.sh也会设置该变量。复用现有开关可以只影响外部扩展生成,避免新增重复环境变量,同时不改变 torch_npu 自身 codegen 默认行为。【资料变更】
不涉及。
【接口变更】
不涉及。
【功能验证】
目标分支:
v2.7.1python3 -m py_compile torchnpugen/gen_backend_stubs.pygit diff --check -- torchnpugen/gen_backend_stubs.pyACLNN_EXTENSION_SWITCH=TRUE时,QuantizedRegister配置不包含QuantizedFlipKernelNpu/quantized_flipACLNN_EXTENSION_SWITCH未设置时,QuantizedRegister配置保留QuantizedFlipKernelNpu/quantized_fliplintrunner torchnpugen/gen_backend_stubs.py通过。flash-linear-attention-npuv26.1.0,在 v2.7.1 环境使用修复后的 torch_npu codegen 重新生成并编译fla_npu,生成的QuantizedRegister.cpp不再包含QuantizedFlipKernelNpu/quantized_flip;python setup.py bdist_wheel、pip install dist/fla_npu*.whl --force-reinstall --no-deps、import torch_npu; import fla_npu均通过。ct测试依赖后,cd torch_custom/fla_npu/test && bash test.sh通过,结果PASSED (9)、FAILED (0)。【CheckList】