已合并
【PR】: tefusion支持pcie #4276
wuqianqian24创建于 8月5日
【PR】: tefusion支持pcie #4276
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 wuqianqian24 的贡献)8月5日 添加了label:enhancement
8月5日 创建了 pull request,commit 2fec9525
atomgit-bot
8月5日 评论:
8月5日 评论:
变更摘要
此 PR 主要为 tefusion 模块增加对 PCIE 场景的支持。通过引入一个新的 _force_dynamic_compile 属性标记,在算子编译的 JSON 组装阶段将该标记传递至 TBE 编译选项,同时在融合二进制复用检查中识别该标记并强制走二进制复用路径,从而适配 PCIE 算子无需 JIT 编译的场景。
主要改动
- 新增常量
KForceDynamicCompile: 在te_fusion_util_constants.h中定义了常量KForceDynamicCompile = "_force_dynamic_compile",作为算子属性键名,统一标识强制动态编译/PCIE 场景。 TeJsonAssemble::SetCustomCoreCountAndLevel传递编译选项: 在te_json_assemble.cc中读取算子的_force_dynamic_compile属性,若为真则将其写入options["force_dynamic_compile"],使 TBE 编译感知该标记。BinaryManager::CheckJitCompileForBinReuse强制二进制复用: 在fusion_reuse_single_op_binary.cc中检查_force_dynamic_compile属性,若为真则直接返回true,跳过后续单算子场景判断,使 PCIE 算子强制走二进制复用路径。


atomgit-bot
8月5日 评论:
8月5日 评论:
代码审查
我已审查完所有三个变更文件,现在给出关闭摘要。
审查关闭摘要
各文件审查结果
| 文件 | 结论 |
|---|---|
compiler/opcompiler/op_compile_adapter/source/inc/te_fusion_util_constants.h |
1 项发现(P2,命名不一致) |
compiler/opcompiler/op_compile_adapter/source/assemble_json/te_json_assemble.cc |
2 项发现(P0 编译错误 + P1 类型误用) |
compiler/opcompiler/op_compile_adapter/source/binary/fusion_reuse_single_op_binary.cc |
无问题 |
按优先级统计
- P0:1 项 —
opTask未定义,导致编译失败 - P1:1 项 —
bool隐式赋给std::string,存入控制字符而非可读字符串 - P2:1 项 — 常量命名
KForceDynamicCompile应为kForceDynamicCompile(与同文件所有同类常量不一致) - P3:0 项
整体风险评估
高风险。第 2170 行的编译错误(未定义标识符 opTask)会使本次变更无法通过编译,必须修复。第 2173 行的 bool→std::string 隐式转换即使在编译错误修复后仍会残留——它会将控制字符 '\x01' 而非 "true" 写入 options map,导致下游 JSON 序列化产生错误值。常量命名问题属于次要维护性缺陷,但也应一并修正以避免后续开发者的困惑。
| 类型 | 数量 |
|---|---|
| 🔴 阻塞 | 3 |
| 🟡 建议 | 2 |
⛔ 需要修改


8月5日 添加了label:cann-cla/yes
此处折叠了210条消息 查看更多
lipeijie
7 天前 评论:
7 天前 评论:
/lgtm


7 天前 添加了label:lgtm
6 天前 添加了label:approved
6 天前 合入了pull request
Pull Request
描述
AR20260814065044 tefusion支持pcie through flag传递
变更类型
请选择本次引入的变更类型:
关联的Issue
如何测试
描述测试此变更的步骤和前提条件:
1.
2.
核对清单
其他信息
在此添加任何其他关于本次 PR 的说明。