The current Pull Request has been closed by raoliang_sac.
Thanks for your pull-request.
The full list of commands accepted by me can be found at here.
You can get sig-info at here.
You can self-configure the PR merge rules for this repository. For more details, please refer to Here.
For more, you also can visit HICANN.
PR Approval Progress
⚠️ This PR does not yet meet the following requirements:lgtm (requires ≥ 2 person(s) per module)、approve (requires ≥ 1 person(s) per module)
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| */*/README.md | ❌ (0/2)(You can also ask: 宋恺, 冯彤, zhangzijie, xuejinghui, andong_hw) | ❌ (0/1)(You can also ask: 杨露, 陈娇, 杜慧萍, 冯英, 蔡雯雯) |
| repo-cann/ops-math | ❌ (0/2)(You can also ask: jiangjiawei, yue-ma, zhangzijie, 汤平川, clinglai0517) | ❌ (0/1)(You can also ask: jiangjiawei, jia0liang, andong_hw, 顾宝成, xuejinghui) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
raoliang_sac, thanks for your pull request. All authors of the commits have signed the CLA. 👍


[Major] rank≤8 校验对所有产品无条件生效,与 README 的 950 专属描述及“动态 rank”约束矛盾
新增的 InferShape 对 x1、x2 统一用 shape->GetDimNum() > 8 直接判失败,未做任何产品/SOC 区分。但 README 改动后仍把“维度数不超过 8”放在 <term>Ascend 950PR&950DT系列产品</term> 的产品差异条目下(L73-75),且原约束 L72 明确写“支持任意 NumPy 广播形态(含…跨 rank broadcast),支持动态 shape 与动态 rank”,暗示更高 rank 是合法的。
这样在非 950 产品上会把原本可接受的 rank>8 输入判为失败,属于行为回归且文档与代码不一致。建议:按 SOC 条件化该校验(仅 950 生效),或将该限制明确为全局限制并同步修正 README 的产品差异与“动态 rank”描述。


[Major] InferDataType 白名单新增 int32,但与“仅支持三种浮点类型”的说明及缺失的 kernel/tiling 适配不一致
新的 dtype 白名单显式放行 DT_INT32,同时新增的 ST CSV 也加入了 int32 用例(mnn_int32_broadcast / mnn_int32_wrap)。但 golden.py 的注释(L129-130)仍称“本算子只暴露该交集中的三种浮点类型”,README 约束亦未体现 int32;并且本 patch 未见 op def/proto、tiling、kernel 的 int32 适配。
若 kernel/tiling 实际未支持 int32,则 InferDataType 放行与 ST 用例会驱动不支持的输入,导致上板运行失败或精度用例误判。建议:确认 op def 与 kernel/tiling 已具备 int32 能力并补齐相应改动;否则移除此白名单中的 DT_INT32 及对应 ST 用例,并统一 README/golden 注释。


compile


| 🚀 CI 流水线已启动 |
|---|
| 📋 执行详情: 点击查看流水线 |


您好,PR已满足合入指标,请尽快联系Committer进行合入。如暂时不需要合入,请在PR标题前加[WIP]


描述
MulNoNan的Host推导会接受rank9及相同的非法dtype;测试参考还有两处缺口:用NumPy承担最终舍入,以及TF CPU参考无法处理一类合法六维广播。
--device-id=N,保留默认设备及单用例选择;新增一个8条小shape的ST CSV。关联的Issue
https://gitcode.com/cann/ops-math/issues/4387
测试
直接Kernel的0D在线编译仍会在CANN代码生成的无初值
reduce()处失败,已单独定位;本PR不宣称修复该编译器问题。GE和发布binary的标量路径已通过。本轮评审澄清仅修改约束说明和TF测试注释。golden的Python AST与修改前一致,推导、Tiling、Kernel、CSV和示例未改;pre-commit、文档渲染/链接及示例源码哈希核对通过。回查A3原CANN 9.2.0参数校验源码,输入和原始shape的默认rank上限均为8;此项为源码核查,本轮未新增上板测试。
本地CI(2026-11-02):受测提交
6f1e0471275f6f1f7d08232dd823636b4a1a5279,基线为本次从主仓拉取的masterc47568d3b5d22b1570bfbaad40dc63681ff5ca30。已先squash为单提交并核对原基点下完整binary diff及Git tree不变,再rebase;range-diff一致、无冲突。统一入口/workspace/CI-skills/ci_local_check.sh通过,覆盖ascend950、ascend910b的定向编包与相关UT,完整pre-commit、隔离OAT、链接/SKIP契约和golden语法检查均通过。950的Host UT 28条、Graph UT 6条,A2的Host UT 13条、Graph UT 6条实际执行通过;GEIR示例syntax-only和package/Host UT的GE依赖检查通过。使用任务内CANN 9.3.0 C25B114,构建并行度4;本次未新增TTK/NPU ST,也不将本地通过表述为线上通过。文档更新
产品差异移入已有约束列表,调用表只补充必要的设备选择参数。保留A2/A3支持:主线canndev配置中的dtype范围与本次校验一致,A3已实测;A2仅核查源码。不因内部TF插件和TestSpec存在而增加用户接口声明。
按评审意见澄清原有8维上限的通用适用范围,明确动态rank在运行时也须满足上限;将TF TestSpec的三种浮点类型与Kernel/GEIR原有的INT32支持区分开。仅修正这两处说明,产品支持和执行逻辑均未改变。
类型标签
本PR的全部8个变更文件已完整cherry-pick到PR !6947,统一评审合入。原提交
6f1e0471275f6f1f7d08232dd823636b4a1a5279保留追溯;组合提交为af1eeea72c5c773ed3fb136d9ea75d3228b9d90d。本PR作为被替代的独立PR关闭,内容尚未据此视为已合入master,合入及线上CI状态以!6947为准。