Closed
[Requirement|需求建议]: DV122(Ascend960PR / dav_9202 / Ascend960PR_969A1)vector 算子批量适配 #4682
zhaozi3Add on  1 day agoClosed at  1 day ago
zhaozi3Collaborators
1 day ago Create

一、背景信息 (必填)

DV122(Ascend960PR / dav_9202 / Ascend960PR_969A1)vector 算子批量适配。参照 ascend960dt(DAV_9201) 既有适配模式,为 vector 算子清单内 66 个算子补齐 ascend960pr 支持,适配原则:9201 支持的能力 9202 均支持。

二、价值/作用 (必填)

DV122(Ascend960PR / dav_9202 / Ascend960PR_969A1)vector 算子批量适配。参照 ascend960dt(DAV_9201) 既有适配模式,为 vector 算子清单内 66 个算子补齐 ascend960pr 支持,适配原则:9201 支持的能力 9202 均支持。

三、设计方案 (必填)

3.1 使能方式(涉及哪些框架:如Aclnn直调、Pytorch训练等)
3.2 总体设计

注册级适配(66 算子):

CMakeLists.txt:SUPPORT_COMPUTE_UNIT 追加 "ascend960pr",SUPPORT_TILING_DIR 按位插入对应 arch35
op_host/_def.cpp:AICore().AddConfig("ascend960pr", <960dt 同款配置>)
op_host/config/ascend960pr/:二进制配置(
_binary.json / _simplified_key.ini,复制自 ascend960dt,与 960dt 内容一致)
op_kernel
/CMakeLists.txt:COMPUTE_UNITS 追加 ascend960pr(arch92 kernel 入口同步生效)
scripts/kernel/binary_config/ascendc_config.json:compute_units 与 compile_options 补齐
代码级补齐(9201 → 9201||9202):

tiling/aclnn/infershape/fusion_pass/kernel 中 NpuArch::DAV_9201、NPU_ARCH == 9201、"Ascend960DT" 等 960 平台门禁补齐 DAV_9202 / 9202 / "Ascend960PR"
覆盖 concat/tanh_grad/slice/strided_slice/expand/tensor_equal/lin_space/range 等的 tiling/aclnn/graph_infer/fusion_pass 平台门禁(家族特性判定依据:gather_v2 适配提交中 isAscend96_ = DAV_9201||DAV_9202、unsorted_segment_sum 注释"ascend960dt/ascend960pr(DAV_9201/DAV_9202) 平台判定,用于 960 专属特性(ScatterDataCopy 等)的运行时开关")

3.2.1 算子支持的数据类型
3.2.2 host侧设计
3.2.3 kernel侧设计
3.3 支持硬件

3.4 算子约束限制

💡 备注(选填)

likedislike
Zzhaozi3Collaborators
1 day ago Added label: requirement
biabubiabuCollaborators
1 day ago Associated pull request
CANN-robotCANN-robotCollaborators
1 day ago Close issue
CANN-robotCANN-robotCollaborators
1 day ago changed custom state from 待办的 to 已完成
CANN-robotCANN-robotCollaborators
1 day ago Added label: resolved