已关闭
[Requirement|需求建议]: broadcast tiling 模板支持 PcieThrough 场景识别与调度 #350
hahaha22创建于  11 天前关闭于  9 天前
hahaha22成员
11 天前 创建

Backgroud(背景信息)

PcieThrough(PCIe 直通)场景对 broadcast 模板提出了新的调度约束:该场景下输入数据经 PCIe 直通到设备,模板默认的 OneDim 快速分支与 NDDMA 调度不再适用,需要统一走 UB BRC 调度;同时非连续输入模板在 PcieThrough 场景下不受支持,需要在 tiling 阶段显式拦截,避免问题下发到 kernel 侧。

Origin(信息来源)

PcieThrough 特性配套需求,与 ops-math 仓库 mul/select 算子适配 PR(https://gitcode.com/cann/ops-math/pull/5116)协同提出。

Benefit / Necessity (价值/作用)

  • 依赖 broadcast 模板的算子(mul、select 等)在 PcieThrough 场景下获得正确的 tiling 调度,避免 NDDMA/OneDim 路径在直通场景下出错
  • 非连续输入在 tiling 阶段即报错拦截,问题前移,便于定位

Design(设计方案)

  1. BroadcastBaseTiling::DoTiling 新增 GetPcieThroughInfo 步骤,经 context_->GetPcieThroughFlag()(METADEF_VERSION_NUM >= 90200000 编译期门控,低版本兜底 false)获取场景标志
  2. PcieThrough 且输入非连续时返回 GRAPH_FAILED 报错拦截
  3. OneDim 快速分支增加 !isPcieThrough 条件,PcieThrough 场景统一进入 DoBroadcastOpTiling
  4. DoBroadcastOpTiling 中 PcieThrough 时强制 isUbBroadcast = true,走 UB BRC 调度
  5. CMakeLists.txt 补充 cann_version_headers 链接以包含 version/metadef_version.h

关联 PR:https://gitcode.com/cann/opbase/pull/788

likedislike
Hhahaha22成员
11 天前 添加了label:requirement
hahaha22成员
11 天前 评论:

/assign @hahaha22

likedislike
CANN-robotCANN-robot成员
11 天前 将 hahaha22 设为负责人
CANN-robotCANN-robot成员
9 天前 关闭了 issue
CANN-robotCANN-robot成员
9 天前 添加了label:resolved