Closed
[Requirement|需求建议]: posembedding模块5个RoPE算子适配ascend960dt #5821
AlfengYuanAdd on Oct 8Closed at Oct 8
Oct 8 Added label: requirement
Oct 8 Associated pull request
游震
Oct 8 Comments:
Oct 8 Comments:
/assign @alfengyuan


Oct 8 Assign alfengyuan as responsible person
Oct 8 Modify description of issue
Oct 8 Close issue
Oct 8 Added label: resolved
Oct 8 Associated pull request
Oct 9 Associated pull request
Backgroud(背景信息)
Ascend960DT 与 Ascend950 同属 DAV(regbase,arch35)架构(
NpuArch DAV_3510),现有 arch35 kernel 与 regbase tiling 可直接复用,attention 模块已有 compressor / mla_prolog / quant_flash_attn 等算子完成了 ascend960dt 适配。但 posembedding 模块以下 5 个算子尚未在算子定义中声明 ascend960dt 支持,960DT 环境无法调用:Benefit / Necessity (价值/作用)
OpAICoreConfig与 arch35 kernel/tiling,不影响现有 ascend950 / ascend350 构建路径与运行行为;Design(设计方案)
op_host/*_def.cpp:紧随 ascend950 增加this->AICore().AddConfig("ascend960dt", <同950的regbase配置>);rotary_position_embedding(_grad)/op_host/CMakeLists.txt:仿 quant_flash_attn 先例增加 960dt 分支(仅设*_apt_depends,不带 950 专属的Ascend950PR_9599/ENABLE_CV_COMM_VIA_SSBUF编译选项);op_host/config/ascend960dt/:从 ascend950 拷贝*_binary.json与*_simplified_key.ini(已核实 950 与 350 的 json 内容一致、ini 仅含default=0,芯片无关);IsRegbaseSocVersion(common/src/op_host/tiling_util.cpp)按NpuArch ∈ {DAV_3510, DAV_5102}判别,960DT 天然命中 arch35 regbase 路径,无需按 SoC 名单逐一枚举。补充:仓库根
CMakeLists.txt的SOC_VERSION_LIST/ARCH_DIRECTORY_LIST目前尚无ascend960dt → arch35映射(ASCEND_COMPUTE_UNIT=ascend960dt本地构建会命中 "unsupported chip type" 空包分支)。该文件为全仓公共配置,算子适配 MR 不修改,建议由仓主在基础设施侧统一增加。