Closed
[文档缺陷] AdaptiveMaxPool3d 将 Ascend 950 标为不支持 #6501
KaranocaVeAdd on  Oct 11Closed at  22 days ago
KaranocaVe
KaranocaVe
Oct 11 Create

[文档缺陷] AdaptiveMaxPool3d 将 Ascend 950 标为不支持

问题

固定源码 cann/ops-nn@ae873b119fb5499c41a6893f920171551fb0a197 的
pooling/adaptive_max_pool3d/README.md 将 Ascend 950PR/950DT 标为不支持。但同一版本为
AdaptiveMaxPool3d 注册了 ascend950 实现、对应 binary 配置和 Regbase ACLNN 调用路径,
并包含 Arch35 的 ACLNN ST 用例。支持矩阵与该版本的实现配置不一致。

证据

  • op_host/adaptive_max_pool3d_def.cpp 为 ascend950 注册输入、输出类型及动态 shape/rank
    配置,并指定 adaptive_max_pool3d_apt。
  • op_host/config/ascend950/adaptive_max_pool3d_binary.json 声明该算子,并为 BFLOAT16、
    FLOAT16、FLOAT32 输入配置 INT32/INT64 indices,共六组 binary 项。
  • ACLNN API 在 Regbase 架构下允许相应数据类型和格式,并通过 AdaptiveMaxPool3d 加入
    AICore 执行;仓库公共工具将 DAV_3510 识别为 Regbase,架构映射将 Ascend 950PR/950DT
    映射到 DAV_3510。
  • tests/st/arch35/ttk_aclnn_adaptive_max_pool3d_st.csv 包含启用的
    aclnnAdaptiveMaxPool3d BFLOAT16、FLOAT16 和 FLOAT32 用例。

影响与修复

当前文档会让 Ascend 950 用户误以为该算子不可用。修复仅将 README 支持矩阵中的 Ascend
950 标记改为“√”,不改变算子实现或其他产品的支持说明。

结论由固定版本的注册、平台分支、binary 配置和测试用例静态交叉验证;未在 Ascend 950 设备上运行算子。

Validation

验证记录

固定源码

  • 仓库:cann/ops-nn
  • 提交:ae873b119fb5499c41a6893f920171551fb0a197
  • origin/master 与指定提交一致;修复分支从该提交创建。

静态交叉验证

检查 结果
README 支持矩阵 第 7 行将 Ascend 950PR/950DT 标为“×”。
Ascend 950 算子注册 adaptive_max_pool3d_def.cpp 注册 ascend950,指定 adaptive_max_pool3d_apt,并声明输入输出类型。
Binary 配置 JSON 的 op_type 为 AdaptiveMaxPool3d;六组配置覆盖 BFLOAT16、FLOAT16、FLOAT32 和 INT32/INT64 indices。
ACLNN 路径 AclnnUtil::IsRegbase() 包含 DAV_3510;Ascend 950PR/950DT 对应 DAV_3510。Regbase 分支允许相应 dtype/format,并将该算子加入 AICore 执行。
Arch35 ST 源码 CSV 中存在 is_enabled=TRUE 的 aclnnAdaptiveMaxPool3d 用例,覆盖 BFLOAT16、FLOAT16 和 FLOAT32。只检查了用例定义,没有执行 ST。
修复补丁 git apply --check fix.patch 在固定源码 checkout 上通过;补丁仅修改 README 的支持标记。

结论:固定源码配置表明 Ascend 950 有该算子的 ACLNN/AICore 支持路径,因此 README 的“×”与实现配置不符。未在设备上构建或运行算子;没有把 ST 用例定义作为运行通过的证据。

上游提交前检查

检查 结果
目标分支 cann/ops-nn:master,固定基线 ae873b119fb5499c41a6893f920171551fb0a197。
补丁适用性 在该基线上 git apply --check --whitespace=error fix.patch 通过。
PR 改动 仅修改 pooling/adaptive_max_pool3d/README.md 的 Ascend 950 支持标记;git diff --check 通过。
修复提交 2de2358c961d24a9d811e0c6c4d497c92df97cb1,已推送到 fork 分支 fix/2026-10-11-adaptive-max-pool3d-950-support-doc。

关联 PR: https://gitcode.com/cann/ops-nn/merge_requests/11738

likedislike
KaranocaVeKaranocaVe
Oct 12 Associated pull request
KaranocaVeKaranocaVe
Oct 12 Modify description of issue
yuning_chenyuning_chenCollaborators
Oct 12 Assign KaranocaVe as responsible person
CANN-robotCANN-robotCollaborators
22 days ago Close issue
CANN-robotCANN-robotCollaborators
22 days ago Added label: resolved
KaranocaVe
KaranocaVe
20 days ago Comments:

@yolic 您好,这个 Issue 对应的修复已经合入:https://gitcode.com/cann/ops-nn/merge_requests/11738

开发者计划反馈,Issue 需要有 Accepted 标签才能计入积分,仅关闭或标记 resolved 还不够。目前这条 Issue 尚未标记 Accepted,麻烦您结合问题和已合入的修复复核一下;确认符合受理条件后,帮忙补上 Accepted 标签。

感谢您的支持!

likedislike