已合并
add alg check #3840
梅国晗954517创建于 7月6日
add alg check #3840
已合并
Pull Request已成功合入, 合并人@CANN-robot
(感谢 梅国晗954517 的贡献)atomgit-bot
7月6日 评论:
7月6日 评论:
变更摘要
本 PR 为 StatelessTruncatedNormalV2 算子的 Tiling 阶段新增了算法类型(alg)输入的合法性校验。此前算子接受 alg 输入但未验证其取值,现在仅允许 alg=1(Philox 算法),对于其他值(如 0 或 2/Threefly)会在 Tiling 阶段通过 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 宏报错并返回失败,同时对应的输入张量也被添加到数据依赖列表中。此外新增了两个单元测试用例,分别覆盖 alg=0 和 alg=2 的错误场景。
主要改动
INPUT_IDX_ALG输入校验规则增强: 在BuildOpConfig()的inputCheckRules中为INPUT_IDX_ALG添加了 lambda 校验函数,空指针检查后判断alg值是否等于1(ALG_PHILOX),不匹配时通过OP_LOGE_FOR_INVALID_VALUE_WITH_REASON输出含具体算法 ID 的错误日志并返回false。TilingInputsDataDependency补充: 在算子注册末尾的.TilingInputsDataDependency列表中追加了INPUT_IDX_ALG,使 Tiling 阶段依赖该输入张量的数据。- 新增
#include <string>头文件: 为支持校验 lambda 中使用std::to_string和std::string构造错误消息。 - 新增错误场景单元测试: 添加
test_alg_value_error(alg=0)和test_alg_value_error_threefly(alg=2)两个测试用例,验证不支持的算法值会导致 Tiling 返回ge::GRAPH_FAILED。


atomgit-bot
7月6日 评论:
7月6日 评论:
代码审查
所有文件均已审查完毕,以下为最终汇总。
审查总结
- 审查文件数:2
- 发现问题数:1
| 优先级 | 数量 |
|---|---|
| P0 | 0 |
| P1 | 0 |
| P2 | 0 |
| P3 | 1 |
random/stateless_truncated_normal_v2/op_host/arch35/stateless_truncated_normal_v2_tiling_arch35.cpp:无问题。#include <string>的新增合理,lambda 校验逻辑正确(空指针检查完备,alg=1 通过、其他拒绝),TilingInputsDataDependency增加INPUT_IDX_ALG是读取 alg 数据所必需的。random/stateless_truncated_normal_v2/tests/ut/op_host/arch35/test_stateless_truncated_normal_v2_tiling.cpp:发现 1 个 P3 拼写问题(threefly→threefry),测试逻辑和结构本身正确。
整体风险评估:该变更风险很低,核心校验逻辑正确,新增测试覆盖了 alg=0 和 alg=2 两种非法值场景。唯一瑕疵是测试名称中的拼写错误,不影响功能。
⚠️ 已识别出整体风险,但无法提取行内评论,请参考整体评估。


7月6日 添加了label:cann-cla/yes
CANN-robot
7月6日 评论:
7月6日 评论:
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
PR Approval Progress
✅ Congratulations! All modules have met the lgtm and approve requirements.
Module Approval Details
| module | lgtm status | approve status |
|---|---|---|
| repo-cann/ops-math | ✅ 宋恺, wangrui_ (2/2) | ✅ 宋恺, wangrui_ (2/1) |
💡 Tip:
- Committer can comment
/approveor/lgtm- Commenting
/approveimplies both code review (lgtm) and intent to merge (approve)
CLA Signature Pass
gh_M, thanks for your pull request. All authors of the commits have signed the CLA. 👍


此处折叠了82条消息 查看更多
7月8日 添加了label:approved
7月8日 添加了label:lgtm
7月8日 关闭了关联的issue
7月8日 合入了pull request
描述
内置随机数生成算法默认为Philox算法,即alg始终为1。算子调用传入了alg值,但实际并未使用,仅做对齐竞品接口作用。
竞品和71上随机数生成算法也仅只支持Philox,alg值只能为1,非1时会有校验拦截行为,当前算子需在tiling侧增加对alg的校验拦截,行为对齐竞品和71。
关联的Issue
https://gitcode.com/cann/ops-math/issues/2163
测试
各泛化测试
文档更新
不涉及
类型标签