| Files | Last commit | Last update |
|---|---|---|
feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6632 merge 1030 into master feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 ### 改动原因 Ascend950(arch35)系列需要原生支持 MaximumGrad/MinimumGrad(elementwise maximum/minimum 的反向梯度算子,兼容 TensorFlow MaximumGrad/MinimumGrad)。TF 反向图中该梯度被分解为 GreaterEqual/LessEqual + Select/SelectV2 + 常量 zeros 的多算子子图,执行效率低,需要提供单一融合算子承接。 ### 改动方法 新增 math/maximum_grad、math/minimum_grad 两个算子工程(40 个文件,+4979 行): **算子规格**:输入 grads/x1/x2(float16/float32/bfloat16/int32,ND,三输入 dtype 必须一致);输出 y1/y2(broadcast 后 shape);属性 grad_x/grad_y(bool,默认 true,不能同时为 false);AICore 配置 ascend950,支持动态编译静态化、动态 rank、动态 shape。 **Host 侧**:op_def 注册 + proto(TF 兼容);infershape 三输入 broadcast 推导(两输出均为 broadcast shape,校验空 tensor/属性合法性);InferDataType 迁移至 op_graph(4 dtype 白名单 + 跨输入一致性校验);arch35 tiling 基于 atvoss broadcast tiling;ascend950 binary 配置 4 dtype × 3 输出形态(y1_only/y2_only/both)共 12 个/算子。 **Kernel 侧**:arch35 AIV only,基于 atvoss BroadcastSch 调度 + DAG 描述,按 outputCount 模板实例化三种输出形态。 **融合规则 MaximumMinimumGradFusionPass**(maximum/minimum 共用):将 TF 分解梯度子图(GE/LE + Select/SelectV2 + zeros,5→2)融合为单一算子;支持 both/dx-only/dy-only 三种形态,单形态要求子图边界自包含(self-contained)防误匹配;基于 GE 9.0.0 pattern 框架,编译期宏 + 运行时版本双重保护(低于 9.0.0 不注册),≥9.0.0 走 AfterInferShape。 canndev 侧配套改动:https://gitcode.com/cann/canndev/pull/82627 ## 关联的Issue - #3966 ## 测试 - UT:infershape / tiling(arch35) / graph_infer / fusion_pass(含 Select 与 SelectV2、GradientTape 命名、dx-only/dy-only 正例,平台不支持、scope 不匹配、zeros 非全零、端口交换等负例) - E2E:tests/assets golden 基准 + maximum_grad_e2e.py / minimum_grad_e2e.py(tensorflow 命名空间挂载) - GEIR 示例:examples/arch35/test_geir_maximum_grad.cpp、test_geir_minimum_grad.cpp ## 文档更新 - 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6632 | 17 days ago | |
feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6632 merge 1030 into master feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 ### 改动原因 Ascend950(arch35)系列需要原生支持 MaximumGrad/MinimumGrad(elementwise maximum/minimum 的反向梯度算子,兼容 TensorFlow MaximumGrad/MinimumGrad)。TF 反向图中该梯度被分解为 GreaterEqual/LessEqual + Select/SelectV2 + 常量 zeros 的多算子子图,执行效率低,需要提供单一融合算子承接。 ### 改动方法 新增 math/maximum_grad、math/minimum_grad 两个算子工程(40 个文件,+4979 行): **算子规格**:输入 grads/x1/x2(float16/float32/bfloat16/int32,ND,三输入 dtype 必须一致);输出 y1/y2(broadcast 后 shape);属性 grad_x/grad_y(bool,默认 true,不能同时为 false);AICore 配置 ascend950,支持动态编译静态化、动态 rank、动态 shape。 **Host 侧**:op_def 注册 + proto(TF 兼容);infershape 三输入 broadcast 推导(两输出均为 broadcast shape,校验空 tensor/属性合法性);InferDataType 迁移至 op_graph(4 dtype 白名单 + 跨输入一致性校验);arch35 tiling 基于 atvoss broadcast tiling;ascend950 binary 配置 4 dtype × 3 输出形态(y1_only/y2_only/both)共 12 个/算子。 **Kernel 侧**:arch35 AIV only,基于 atvoss BroadcastSch 调度 + DAG 描述,按 outputCount 模板实例化三种输出形态。 **融合规则 MaximumMinimumGradFusionPass**(maximum/minimum 共用):将 TF 分解梯度子图(GE/LE + Select/SelectV2 + zeros,5→2)融合为单一算子;支持 both/dx-only/dy-only 三种形态,单形态要求子图边界自包含(self-contained)防误匹配;基于 GE 9.0.0 pattern 框架,编译期宏 + 运行时版本双重保护(低于 9.0.0 不注册),≥9.0.0 走 AfterInferShape。 canndev 侧配套改动:https://gitcode.com/cann/canndev/pull/82627 ## 关联的Issue - #3966 ## 测试 - UT:infershape / tiling(arch35) / graph_infer / fusion_pass(含 Select 与 SelectV2、GradientTape 命名、dx-only/dy-only 正例,平台不支持、scope 不匹配、zeros 非全零、端口交换等负例) - E2E:tests/assets golden 基准 + maximum_grad_e2e.py / minimum_grad_e2e.py(tensorflow 命名空间挂载) - GEIR 示例:examples/arch35/test_geir_maximum_grad.cpp、test_geir_minimum_grad.cpp ## 文档更新 - 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6632 | 17 days ago | |
feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6632 merge 1030 into master feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 ### 改动原因 Ascend950(arch35)系列需要原生支持 MaximumGrad/MinimumGrad(elementwise maximum/minimum 的反向梯度算子,兼容 TensorFlow MaximumGrad/MinimumGrad)。TF 反向图中该梯度被分解为 GreaterEqual/LessEqual + Select/SelectV2 + 常量 zeros 的多算子子图,执行效率低,需要提供单一融合算子承接。 ### 改动方法 新增 math/maximum_grad、math/minimum_grad 两个算子工程(40 个文件,+4979 行): **算子规格**:输入 grads/x1/x2(float16/float32/bfloat16/int32,ND,三输入 dtype 必须一致);输出 y1/y2(broadcast 后 shape);属性 grad_x/grad_y(bool,默认 true,不能同时为 false);AICore 配置 ascend950,支持动态编译静态化、动态 rank、动态 shape。 **Host 侧**:op_def 注册 + proto(TF 兼容);infershape 三输入 broadcast 推导(两输出均为 broadcast shape,校验空 tensor/属性合法性);InferDataType 迁移至 op_graph(4 dtype 白名单 + 跨输入一致性校验);arch35 tiling 基于 atvoss broadcast tiling;ascend950 binary 配置 4 dtype × 3 输出形态(y1_only/y2_only/both)共 12 个/算子。 **Kernel 侧**:arch35 AIV only,基于 atvoss BroadcastSch 调度 + DAG 描述,按 outputCount 模板实例化三种输出形态。 **融合规则 MaximumMinimumGradFusionPass**(maximum/minimum 共用):将 TF 分解梯度子图(GE/LE + Select/SelectV2 + zeros,5→2)融合为单一算子;支持 both/dx-only/dy-only 三种形态,单形态要求子图边界自包含(self-contained)防误匹配;基于 GE 9.0.0 pattern 框架,编译期宏 + 运行时版本双重保护(低于 9.0.0 不注册),≥9.0.0 走 AfterInferShape。 canndev 侧配套改动:https://gitcode.com/cann/canndev/pull/82627 ## 关联的Issue - #3966 ## 测试 - UT:infershape / tiling(arch35) / graph_infer / fusion_pass(含 Select 与 SelectV2、GradientTape 命名、dx-only/dy-only 正例,平台不支持、scope 不匹配、zeros 非全零、端口交换等负例) - E2E:tests/assets golden 基准 + maximum_grad_e2e.py / minimum_grad_e2e.py(tensorflow 命名空间挂载) - GEIR 示例:examples/arch35/test_geir_maximum_grad.cpp、test_geir_minimum_grad.cpp ## 文档更新 - 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6632 | 17 days ago | |
feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6632 merge 1030 into master feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 ### 改动原因 Ascend950(arch35)系列需要原生支持 MaximumGrad/MinimumGrad(elementwise maximum/minimum 的反向梯度算子,兼容 TensorFlow MaximumGrad/MinimumGrad)。TF 反向图中该梯度被分解为 GreaterEqual/LessEqual + Select/SelectV2 + 常量 zeros 的多算子子图,执行效率低,需要提供单一融合算子承接。 ### 改动方法 新增 math/maximum_grad、math/minimum_grad 两个算子工程(40 个文件,+4979 行): **算子规格**:输入 grads/x1/x2(float16/float32/bfloat16/int32,ND,三输入 dtype 必须一致);输出 y1/y2(broadcast 后 shape);属性 grad_x/grad_y(bool,默认 true,不能同时为 false);AICore 配置 ascend950,支持动态编译静态化、动态 rank、动态 shape。 **Host 侧**:op_def 注册 + proto(TF 兼容);infershape 三输入 broadcast 推导(两输出均为 broadcast shape,校验空 tensor/属性合法性);InferDataType 迁移至 op_graph(4 dtype 白名单 + 跨输入一致性校验);arch35 tiling 基于 atvoss broadcast tiling;ascend950 binary 配置 4 dtype × 3 输出形态(y1_only/y2_only/both)共 12 个/算子。 **Kernel 侧**:arch35 AIV only,基于 atvoss BroadcastSch 调度 + DAG 描述,按 outputCount 模板实例化三种输出形态。 **融合规则 MaximumMinimumGradFusionPass**(maximum/minimum 共用):将 TF 分解梯度子图(GE/LE + Select/SelectV2 + zeros,5→2)融合为单一算子;支持 both/dx-only/dy-only 三种形态,单形态要求子图边界自包含(self-contained)防误匹配;基于 GE 9.0.0 pattern 框架,编译期宏 + 运行时版本双重保护(低于 9.0.0 不注册),≥9.0.0 走 AfterInferShape。 canndev 侧配套改动:https://gitcode.com/cann/canndev/pull/82627 ## 关联的Issue - #3966 ## 测试 - UT:infershape / tiling(arch35) / graph_infer / fusion_pass(含 Select 与 SelectV2、GradientTape 命名、dx-only/dy-only 正例,平台不支持、scope 不匹配、zeros 非全零、端口交换等负例) - E2E:tests/assets golden 基准 + maximum_grad_e2e.py / minimum_grad_e2e.py(tensorflow 命名空间挂载) - GEIR 示例:examples/arch35/test_geir_maximum_grad.cpp、test_geir_minimum_grad.cpp ## 文档更新 - 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6632 | 17 days ago | |
test: 同步 Math BRC 零 workspace 的 Host UT 期望值 Co-authored-by: zhang-song-rui<zhangsongrui@h-partners.com> # message auto-generated for no-merge-commit merge: !6242 merge fix/ascend950-vector-workspace into master test: 同步 Math BRC 零 workspace 的 Host UT 期望值 Created-by: zhang-song-rui Commit-by: zhang-song-rui Merged-by: cann-robot Description: ## 修改内容 仅同步公共 BroadcastBaseTiling(BRC)workspace 清零所影响的 Host UT:把成功 BRC 用例的 workspace 期望由 16777216(16 MiB)改为 0。 共修改 38 个已有 UT 文件,228 行增加、228 行删除,全部为上述 workspace 字面值替换。无生产代码、kernel、CMake、公共 UT 框架、依赖版本或失败用例修改;分支保持一次提交。 ## Major 意见核对与处理 opbase #1007 在 BroadcastBaseTiling::DoTiling 公共成功出口写入 DEFAULT_TILING_WORKSPACE_SIZE=0,默认 kernel type 同样受影响,并非可排除条件。结合本地 opbase 与当前 ops-math 源码,逐项处理如下: | 算子 | 本 PR 处理 | 保留原期望的依据 | | --- | --- | --- | | AddV2 | 生产文件及 UT 均保持主线原样 | BRC 返回后 SetWorkspace 显式按 CompileInfo/平台信息重新申请 workspace,最终结果仍为 16 MiB;不能仅改 UT 为 0。 | | LeftShift | 8 个成功用例改为 0 | 另 1 个失败用例的占位期望不参与 workspace 检查,保持原样。 | | RightShift | 10 个成功用例改为 0 | 另 2 个失败用例同上,保持原样。 | | MaximumGrad | 7 个成功 BRC 用例改为 0 | 另 4 个空张量用例走 HandleEmptyTensor 独立分支,仍显式申请系统 workspace,保留 16 MiB。 | | MinimumGrad | 7 个成功 BRC 用例改为 0 | 同上,另 4 个空张量独立分支保留 16 MiB。 | | MaskedFill | 7 个成功 BRC 用例改为 0 | 无遗漏。 | | TruncateDiv | 6 个成功 BRC 用例改为 0 | 原有两个 0 是失败用例,不是非 BRC 成功路径;保持原样。 | 全仓扫描发现的另外三组遗漏也已补齐:FusedMulAdd(10 处)、FusedMulAddAdd(10 处)、MulNoNan(11 处)。上述新增补齐共 9 个文件、76 处。其余原有 UT 中仅属于失败用例的 8 处占位值修改也已撤回,避免无关修改。 ## 本地验证(2026-11-05) 最终提交: ae55efaba。 环境:aarch64、GNU 9.4.0、CANN 9.2.0(用户目录安装)、目标 ascend950。使用仓库默认固定 opbase 8e8cf1b60b28bc1f8aaa1652fe054ac7e35d5852,未叠加本地 opbase 补丁。 - 最终 UT-only 版本已重新编译、最终链接并运行 math_op_host_ut:**548/548 测试通过,78 个测试套件,构建退出码 0**。范围包括全部 38 个变更算子,以及保持原样的 AddV2,共 39 个算子;保留 16 MiB 的 AddV2/梯度空张量用例也实际通过。 - 逐字节检查全部 38 个变更文件,仅存在 {16777216} → {0} 的替换;失败用例无差异,AddV2 无差异。 - 按原有 CRLF 换行格式执行差异空白检查,通过。 - 扫描仓库 50 个直接 BRC Host 消费算子,核对剩余 16 MiB 用例及上述独立分支。 最终复测日志:/tmp/pr6242-ut-only-final.log。日志含复用构建目录产生的 gcov profile 时间戳提示;测试和构建均成功,本次不提供覆盖率结论。Host UT 不替代设备 kernel 精度、性能或越界验证;本轮未执行设备测试。 ## 关联 PR - [opbase #1007](https://gitcode.com/cann/opbase/pull/1007):已合入的公共 BRC workspace 清理。 - [ops-math #6711](https://gitcode.com/cann/ops-math/pull/6711):已合入独立实现路径清理及其 4 个 UT 文件。已同步包含该修改的主线,上述 10 个文件不在本 PR 差异中。 See merge request: cann/ops-math!6242 | 8 days ago | |
feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6632 merge 1030 into master feat: 新增Ascend950系列MaximumGrad、MinimumGrad算子实现 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 ### 改动原因 Ascend950(arch35)系列需要原生支持 MaximumGrad/MinimumGrad(elementwise maximum/minimum 的反向梯度算子,兼容 TensorFlow MaximumGrad/MinimumGrad)。TF 反向图中该梯度被分解为 GreaterEqual/LessEqual + Select/SelectV2 + 常量 zeros 的多算子子图,执行效率低,需要提供单一融合算子承接。 ### 改动方法 新增 math/maximum_grad、math/minimum_grad 两个算子工程(40 个文件,+4979 行): **算子规格**:输入 grads/x1/x2(float16/float32/bfloat16/int32,ND,三输入 dtype 必须一致);输出 y1/y2(broadcast 后 shape);属性 grad_x/grad_y(bool,默认 true,不能同时为 false);AICore 配置 ascend950,支持动态编译静态化、动态 rank、动态 shape。 **Host 侧**:op_def 注册 + proto(TF 兼容);infershape 三输入 broadcast 推导(两输出均为 broadcast shape,校验空 tensor/属性合法性);InferDataType 迁移至 op_graph(4 dtype 白名单 + 跨输入一致性校验);arch35 tiling 基于 atvoss broadcast tiling;ascend950 binary 配置 4 dtype × 3 输出形态(y1_only/y2_only/both)共 12 个/算子。 **Kernel 侧**:arch35 AIV only,基于 atvoss BroadcastSch 调度 + DAG 描述,按 outputCount 模板实例化三种输出形态。 **融合规则 MaximumMinimumGradFusionPass**(maximum/minimum 共用):将 TF 分解梯度子图(GE/LE + Select/SelectV2 + zeros,5→2)融合为单一算子;支持 both/dx-only/dy-only 三种形态,单形态要求子图边界自包含(self-contained)防误匹配;基于 GE 9.0.0 pattern 框架,编译期宏 + 运行时版本双重保护(低于 9.0.0 不注册),≥9.0.0 走 AfterInferShape。 canndev 侧配套改动:https://gitcode.com/cann/canndev/pull/82627 ## 关联的Issue - #3966 ## 测试 - UT:infershape / tiling(arch35) / graph_infer / fusion_pass(含 Select 与 SelectV2、GradientTape 命名、dx-only/dy-only 正例,平台不支持、scope 不匹配、zeros 非全零、端口交换等负例) - E2E:tests/assets golden 基准 + maximum_grad_e2e.py / minimum_grad_e2e.py(tensorflow 命名空间挂载) - GEIR 示例:examples/arch35/test_geir_maximum_grad.cpp、test_geir_minimum_grad.cpp ## 文档更新 - 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6632 | 17 days ago | |
docs: [maximum_grad/minimum_grad] 新增算子 README 说明文档及融合规则资料 Co-authored-by: Hana77<wangtianqi27@huawei.com> # message auto-generated for no-merge-commit merge: !6741 merge mm into master docs: [maximum_grad/minimum_grad] 新增算子 README 说明文档及融合规则资料 Created-by: Hana77 Commit-by: Hana77 Merged-by: cann-robot Description: ## 描述 为 maximum_grad / minimum_grad 算子补充说明文档,具体包括: 1. **新增算子 README**(math/maximum_grad/README.md、math/minimum_grad/README.md),内容覆盖: - 产品支持情况:Ascend 950PR&950DT、Atlas A3、Atlas A2、Atlas 200I/500 A2、Atlas 推理/训练系列; - 功能说明与计算公式:MaximumGrad 为 maximum 的反向梯度算子,y1 = grads × (x1 ≥ x2),y2 = grads × (x1 < x2);MinimumGrad 为 minimum 的反向梯度算子,y1 = grads × (x1 ≤ x2),y2 = grads × (x1 > x2); - 参数说明:输入 grads/x1/x2,输出 y1/y2,支持 FLOAT16/FLOAT/BF16/INT32(ND 格式),可选属性 grad_x/grad_y(BOOL,默认 true); - 约束说明:输入 shape 须满足 broadcast 规则(输出 shape 为 broadcast 后的结果)、BF16 仅 Ascend 950PR&950DT 系列产品支持、grad_x 与 grad_y 不能同时为 false; - 调用说明:图模式调用样例(examples/arch35/test_geir_*.cpp,通过算子 IR 构图方式调用)。 2. **新增融合规则资料**(math/maximum_grad/docs/MaximumMinimumGradFusionPass.md 及配图 docs/zh/figures/MaximumMinimumGradFusionPass.png):说明 TensorFlow 自动求导分解出的 Maximum/Minimum 梯度子图(GreaterEqual/LessEqual + Select/SelectV2)替换为 MaximumGrad/MinimumGrad 算子的融合模式、使用约束(输入 dtype 一致且仅支持 float16/float32/bf16/int32、zeros 须为全零常量节点、GE 编译器版本不低于 9.0.0)及支持型号。 3. **更新算子列表**(docs/zh/op_list.md):新增 maximum_grad、minimum_grad 条目及功能描述,并链接至对应 README。 ## 关联的Issue - #4174 ## 测试 - 纯文档变更,无代码逻辑改动,不涉及二级冒烟、算子泛化等测试。 - 已校验文档中引用的文件均真实存在:examples/arch35/test_geir_maximum_grad.cpp、op_graph/maximum_grad_proto.h(minimum_grad 对应文件同)。 ## 文档更新 - 新增 math/maximum_grad/README.md、math/minimum_grad/README.md - 新增 math/maximum_grad/docs/MaximumMinimumGradFusionPass.md、docs/zh/figures/MaximumMinimumGradFusionPass.png - 更新 docs/zh/op_list.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6741 | 16 days ago | |
docs: add English translations for markdown files Co-authored-by: jenny_xiang<jenny.xiang@huawei.com> # message auto-generated for no-merge-commit merge: !7113 merge docs/add-english-translations into master docs: add English translations for markdown files Created-by: jenny_xiang Commit-by: jenny_xiang Merged-by: cann-robot Description: ## 描述 新增仓库Markdown文档英文译稿(第二批,共409个文件):第一批(已合入)之外的其余全部译稿,覆盖conversion、examples、ge、math、random各类算子README译稿,以及CHANGELOG_en.md、.gitcode PR模板英文版等。 本批内全部仓内链接均指向master已有文件(含第一批已合入的21+2篇译稿),合入后本仓432篇英文文档全部就位,链接完整生效。 本批同时包含4篇基于最新源文档的增量更新(math/ada_cast、math/prod_force_se_a、math/sinkhorn、math/xlogy,对应上游近期文档变更)。 ## 关联的Issue 无 ## 测试 文档类变更,无需算子测试;已通过链接有效性校验(本批全部相对链接仅指向master已有文件,无指向本PR外未提交文件的链接),并完成逐篇翻译规范自查与语义校对(含支持状态表、限定词、术语、数值符号核对)。 ## 文档更新 新增409个英文译稿文件(*_en.md / .en-US.md),不修改任何现有文件。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7113 | 8 days ago |
MinimumGrad
English | 简体中文
Product Support Status
| Product | Supported |
|---|---|
| Ascend 950PR&950DT products | √ |
| Atlas A3 products | √ |
| Atlas A2 products | √ |
| Atlas 200I/500 A2 inference products | √ |
| Atlas inference products | √ |
| Atlas training products | √ |
Function Description
- Operator function: MinimumGrad is the backward gradient computation operator of the
minimumoperator. It computes the gradients of the forward propagation output with respect to the two inputs x1 and x2. - Computation formula:
y1=grads×(x1≤x2)y1 = grads \times (x1 \leq x2) y1=grads×(x1≤x2)
y2=grads×(x1>x2)y2 = grads \times (x1 > x2) y2=grads×(x1>x2)
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| grads | Input | Gradient input, which indicates the gradient of the forward output y of minimum. It is grads in the formula. |
FLOAT16, FLOAT, BF16, INT32 | ND |
| x1 | Input | The first input of forward propagation, which is x1 in the formula. |
FLOAT16, FLOAT, BF16, INT32 | ND |
| x2 | Input | The second input of forward propagation, which is x2 in the formula. |
FLOAT16, FLOAT, BF16, INT32 | ND |
| y1 | Output | Gradient of x1, which is y1 in the formula. |
FLOAT16, FLOAT, BF16, INT32 | ND |
| y2 | Output | Gradient of x2, which is y2 in the formula. |
FLOAT16, FLOAT, BF16, INT32 | ND |
| grad_x | Optional attribute | Whether to compute and output y1. The default value is true. |
BOOL | - |
| grad_y | Optional attribute | Whether to compute and output y2. The default value is true. |
BOOL | - |
Constraint Description
- The shapes of the inputs
grads,x1, andx2must satisfy the broadcast rule. - The shapes of the outputs
y1andy2are the shapes ofgrads,x1, andx2after broadcasting. - The BF16 data type is supported only on Ascend 950PR&950DT products.
- The attributes
grad_xandgrad_ycannot both befalse.
Invocation Description
| Invocation Method | Invocation Sample | Description |
|---|---|---|
| Graph-mode invocation | test_geir_minimum_grad | Invokes the MinimumGrad operator by building a graph through the operator IR. |