| feat: broadcast tiling 模板支持 PcieThrough 场景识别与 UB BRC 强制调度 Co-authored-by: hahaha22<wangrunze20@h-partners.com> # message auto-generated for no-merge-commit merge: !788 merge pcie_through into master feat: broadcast tiling 模板支持 PcieThrough 场景识别与 UB BRC 强制调度 Created-by: hahaha22 Commit-by: hahaha22 Merged-by: cann-robot Description: ## 描述 broadcast 模板 tiling 增加 PcieThrough(PCIe 直通)场景识别,保证该场景下经 broadcast 模板调度的算子行为正确: 1. DoTiling 新增 GetPcieThroughInfo 步骤:高版本 SDK(METADEF_VERSION_NUM >= 90200000)调用 context_->GetPcieThroughFlag() 获取标志,低版本走 #else 兜底 isPcieThrough = false,保持存量行为不变 2. 非连续输入拦截:PcieThrough 场景下非连续模板不支持,GetPcieThroughInfo 中对 isPcieThrough && !inputAllContiguous 直接返回失败并报错 3. OneDim 快速分支规避:PcieThrough 场景跳过 DoOneDimOpTilingAdvance/DoOneDimOpTiling 快速路径,统一走 DoBroadcastOpTiling 4. UB BRC 强制调度:DoBroadcastOpTiling 中 PcieThrough 时置 isUbBroadcast = true,不再走 IsUbBroadcast 常规判定 5. 构建配套:CMakeLists.txt 为 ops_base 补充 cann_version_headers 链接,解析新增的 version/metadef_version.h 头文件 配套算子侧 PR:https://gitcode.com/cann/ops-math/pull/5116(mul/select 算子 PcieThrough 适配),两者需协同合入。 ## 关联的Issue - https://gitcode.com/cann/opbase/issues/350 ## 测试 - 当前 SDK metadef 版本低于 90200000,GetPcieThroughFlag 真实分支未编入,兜底路径下 isPcieThrough 恒为 false,模板调度行为与合入前一致 - CI 流水线已通过(ci-pipeline-passed) - METADEF >= 90200000 环境下的编译与功能验证待高版本 SDK 就绪后补充 ## 文档更新 不涉及 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/opbase!788 | 5 天前 |