| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增 SqrtBackward 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3263 merge sqrtgrad into master 新增 SqrtBackward 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnSqrtBackward 昇腾Ascend生态算子。算子目录位于 experimental/math/sqrt_grad,用于计算平方根(sqrt)前向算子的反向梯度,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnSqrtBackwardGetWorkspaceSize - aclnnSqrtBackward - 基于已验证的 ascend-kernel/csrc/ops/sqrt_grad 实现接入 op_kernel 与 host tiling,保持原有 CopyIn -> Compute -> CopyOut 双缓冲流水线。float32 直接计算,float16 与 bfloat16 先升到 float32 计算再回写原 dtype。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - y/dy/z shape 一致性校验(不支持 broadcast) - y/dy/z dtype 一致性校验 - 最大 8 维限制 - 非连续输入/输出处理 - 空 tensor 处理 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 SqrtBackward 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1948) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/sqrt_grad/examples/run.sh - UT: - op_api UT 通过,8 tests passed - ATK: - 精度测试 2100 / 2100 通过 - 性能测试通过 平均加速比 1.06 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/sqrt_grad/README.md - experimental/math/sqrt_grad/docs/aclnnSqrtBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3263 | 2 个月前 | |
新增 SqrtBackward 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3263 merge sqrtgrad into master 新增 SqrtBackward 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnSqrtBackward 昇腾Ascend生态算子。算子目录位于 experimental/math/sqrt_grad,用于计算平方根(sqrt)前向算子的反向梯度,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnSqrtBackwardGetWorkspaceSize - aclnnSqrtBackward - 基于已验证的 ascend-kernel/csrc/ops/sqrt_grad 实现接入 op_kernel 与 host tiling,保持原有 CopyIn -> Compute -> CopyOut 双缓冲流水线。float32 直接计算,float16 与 bfloat16 先升到 float32 计算再回写原 dtype。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - y/dy/z shape 一致性校验(不支持 broadcast) - y/dy/z dtype 一致性校验 - 最大 8 维限制 - 非连续输入/输出处理 - 空 tensor 处理 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 SqrtBackward 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1948) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/sqrt_grad/examples/run.sh - UT: - op_api UT 通过,8 tests passed - ATK: - 精度测试 2100 / 2100 通过 - 性能测试通过 平均加速比 1.06 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/sqrt_grad/README.md - experimental/math/sqrt_grad/docs/aclnnSqrtBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3263 | 2 个月前 | |
新增 SqrtBackward 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3263 merge sqrtgrad into master 新增 SqrtBackward 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnSqrtBackward 昇腾Ascend生态算子。算子目录位于 experimental/math/sqrt_grad,用于计算平方根(sqrt)前向算子的反向梯度,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnSqrtBackwardGetWorkspaceSize - aclnnSqrtBackward - 基于已验证的 ascend-kernel/csrc/ops/sqrt_grad 实现接入 op_kernel 与 host tiling,保持原有 CopyIn -> Compute -> CopyOut 双缓冲流水线。float32 直接计算,float16 与 bfloat16 先升到 float32 计算再回写原 dtype。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - y/dy/z shape 一致性校验(不支持 broadcast) - y/dy/z dtype 一致性校验 - 最大 8 维限制 - 非连续输入/输出处理 - 空 tensor 处理 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 SqrtBackward 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1948) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/sqrt_grad/examples/run.sh - UT: - op_api UT 通过,8 tests passed - ATK: - 精度测试 2100 / 2100 通过 - 性能测试通过 平均加速比 1.06 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/sqrt_grad/README.md - experimental/math/sqrt_grad/docs/aclnnSqrtBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3263 | 2 个月前 | |
新增 SqrtBackward 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3263 merge sqrtgrad into master 新增 SqrtBackward 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnSqrtBackward 昇腾Ascend生态算子。算子目录位于 experimental/math/sqrt_grad,用于计算平方根(sqrt)前向算子的反向梯度,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnSqrtBackwardGetWorkspaceSize - aclnnSqrtBackward - 基于已验证的 ascend-kernel/csrc/ops/sqrt_grad 实现接入 op_kernel 与 host tiling,保持原有 CopyIn -> Compute -> CopyOut 双缓冲流水线。float32 直接计算,float16 与 bfloat16 先升到 float32 计算再回写原 dtype。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - y/dy/z shape 一致性校验(不支持 broadcast) - y/dy/z dtype 一致性校验 - 最大 8 维限制 - 非连续输入/输出处理 - 空 tensor 处理 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 SqrtBackward 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1948) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/sqrt_grad/examples/run.sh - UT: - op_api UT 通过,8 tests passed - ATK: - 精度测试 2100 / 2100 通过 - 性能测试通过 平均加速比 1.06 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/sqrt_grad/README.md - experimental/math/sqrt_grad/docs/aclnnSqrtBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3263 | 2 个月前 | |
新增 SqrtBackward 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3263 merge sqrtgrad into master 新增 SqrtBackward 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnSqrtBackward 昇腾Ascend生态算子。算子目录位于 experimental/math/sqrt_grad,用于计算平方根(sqrt)前向算子的反向梯度,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnSqrtBackwardGetWorkspaceSize - aclnnSqrtBackward - 基于已验证的 ascend-kernel/csrc/ops/sqrt_grad 实现接入 op_kernel 与 host tiling,保持原有 CopyIn -> Compute -> CopyOut 双缓冲流水线。float32 直接计算,float16 与 bfloat16 先升到 float32 计算再回写原 dtype。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - y/dy/z shape 一致性校验(不支持 broadcast) - y/dy/z dtype 一致性校验 - 最大 8 维限制 - 非连续输入/输出处理 - 空 tensor 处理 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 SqrtBackward 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1948) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/sqrt_grad/examples/run.sh - UT: - op_api UT 通过,8 tests passed - ATK: - 精度测试 2100 / 2100 通过 - 性能测试通过 平均加速比 1.06 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/sqrt_grad/README.md - experimental/math/sqrt_grad/docs/aclnnSqrtBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3263 | 2 个月前 | |
新增 SqrtBackward 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3263 merge sqrtgrad into master 新增 SqrtBackward 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnSqrtBackward 昇腾Ascend生态算子。算子目录位于 experimental/math/sqrt_grad,用于计算平方根(sqrt)前向算子的反向梯度,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnSqrtBackwardGetWorkspaceSize - aclnnSqrtBackward - 基于已验证的 ascend-kernel/csrc/ops/sqrt_grad 实现接入 op_kernel 与 host tiling,保持原有 CopyIn -> Compute -> CopyOut 双缓冲流水线。float32 直接计算,float16 与 bfloat16 先升到 float32 计算再回写原 dtype。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - y/dy/z shape 一致性校验(不支持 broadcast) - y/dy/z dtype 一致性校验 - 最大 8 维限制 - 非连续输入/输出处理 - 空 tensor 处理 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 SqrtBackward 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1948) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/sqrt_grad/examples/run.sh - UT: - op_api UT 通过,8 tests passed - ATK: - 精度测试 2100 / 2100 通过 - 性能测试通过 平均加速比 1.06 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/sqrt_grad/README.md - experimental/math/sqrt_grad/docs/aclnnSqrtBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3263 | 2 个月前 | |
新增 SqrtBackward 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3263 merge sqrtgrad into master 新增 SqrtBackward 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnSqrtBackward 昇腾Ascend生态算子。算子目录位于 experimental/math/sqrt_grad,用于计算平方根(sqrt)前向算子的反向梯度,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnSqrtBackwardGetWorkspaceSize - aclnnSqrtBackward - 基于已验证的 ascend-kernel/csrc/ops/sqrt_grad 实现接入 op_kernel 与 host tiling,保持原有 CopyIn -> Compute -> CopyOut 双缓冲流水线。float32 直接计算,float16 与 bfloat16 先升到 float32 计算再回写原 dtype。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - y/dy/z shape 一致性校验(不支持 broadcast) - y/dy/z dtype 一致性校验 - 最大 8 维限制 - 非连续输入/输出处理 - 空 tensor 处理 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 SqrtBackward 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1948) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/sqrt_grad/examples/run.sh - UT: - op_api UT 通过,8 tests passed - ATK: - 精度测试 2100 / 2100 通过 - 性能测试通过 平均加速比 1.06 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/sqrt_grad/README.md - experimental/math/sqrt_grad/docs/aclnnSqrtBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3263 | 2 个月前 | |
新增 SqrtBackward 生态算子 Co-authored-by: cwzhang<zhangchangwei8@huawei.com> # message auto-generated for no-merge-commit merge: !3263 merge sqrtgrad into master 新增 SqrtBackward 生态算子 Created-by: cwzhang Commit-by: cwzhang Merged-by: cann-robot Description: ## 描述 新增 aclnnSqrtBackward 昇腾Ascend生态算子。算子目录位于 experimental/math/sqrt_grad,用于计算平方根(sqrt)前向算子的反向梯度,支持 Ascend 910B 设备。 AI Agent 算子生成项目,支持昇腾算子生态发展。 本次改动主要包括: - 新增对外 ACLNN 接口: - aclnnSqrtBackwardGetWorkspaceSize - aclnnSqrtBackward - 基于已验证的 ascend-kernel/csrc/ops/sqrt_grad 实现接入 op_kernel 与 host tiling,保持原有 CopyIn -> Compute -> CopyOut 双缓冲流水线。float32 直接计算,float16 与 bfloat16 先升到 float32 计算再回写原 dtype。 - 在 host 侧补充 ACLNN 接口参数校验,覆盖: - 空指针校验 - y/dy/z shape 一致性校验(不支持 broadcast) - y/dy/z dtype 一致性校验 - 最大 8 维限制 - 非连续输入/输出处理 - 空 tensor 处理 - 新增 example、UT、ST、README 和 ACLNN 接口文档。 - 新增 ST JSON 与 executor,使其分别支持: - pyaclnn 后端 - npu 后端 的精度测试链路。 ## 关联的Issue [[Requirement|需求建议]: 新增 SqrtBackward 生态算子(关联PR用于追踪)](https://gitcode.com/cann/ops-math/issues/1948) ## 测试 已完成以下验证: - 单算子构建: - bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad -j8 -O2 - run 包生成并安装成功: - build_out/cann-ops-math-custom_linux-aarch64.run - example 冒烟通过: - experimental/math/sqrt_grad/examples/run.sh - UT: - op_api UT 通过,8 tests passed - ATK: - 精度测试 2100 / 2100 通过 - 性能测试通过 平均加速比 1.06 (阈值0.6) ## 文档更新 已更新/新增以下文档: - experimental/math/sqrt_grad/README.md - experimental/math/sqrt_grad/docs/aclnnSqrtBackward.md ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3263 | 2 个月前 |
sqrt_grad
sqrt_grad 为前向 sqrt 的反向梯度算子 ACLNN 绑定工程,对外暴露接口 aclnnSqrtBackward。
产品支持情况
| 产品 | 是否支持 |
|---|---|
ascend910b |
是 |
数学语义
输入前向输出 y 和上游梯度 dy,输出 z。逐元素语义严格对齐已验证 AscendC kernel:
tmp = 0.5 * dy
z = tmp != 0 ? tmp / y : 0
实现保持 CopyIn -> Compute -> CopyOut 流水顺序不变。float32 直接计算;float16 与 bfloat16 先升到 float32 计算,再回写原 dtype。
参数与约束
| Name | Role | Dtype | Format | Shape |
|---|---|---|---|---|
y |
输入,前向 sqrt 的输出 |
float32 / float16 / bfloat16 |
ND |
0 到 8 维 |
dy |
输入,上游梯度 | float32 / float16 / bfloat16 |
ND |
与 y 完全一致 |
z |
输出,前向输入的梯度 | float32 / float16 / bfloat16 |
ND |
与 y 完全一致 |
约束:
- 不支持 broadcast,
y、dy、z的 shape 和 dtype 必须完全一致。 - 支持 0 维标量和动态 shape / 动态 rank。
- 当前 host/kernel 只支持
ND。 - 当
0.5 * dy == 0时直接输出0,避免进入除法结果路径。
ACLNN 接口
aclnnStatus aclnnSqrtBackwardGetWorkspaceSize(
const aclTensor *y,
const aclTensor *dy,
aclTensor *z,
uint64_t *workspaceSize,
aclOpExecutor **executor);
aclnnStatus aclnnSqrtBackward(
void *workspace,
uint64_t workspaceSize,
aclOpExecutor *executor,
const aclrtStream stream);
构建与验证
source ${ASCEND_HOME_PATH:-/usr/local/Ascend/cann}/set_env.sh
cd <ops-repo>
bash build.sh --experimental --ops=sqrt_grad -j8 -O2
bash build.sh --experimental --ops=sqrt_grad -u --opapi -j8 -O2
bash build.sh --pkg --experimental --soc=ascend910b --ops=sqrt_grad --vendor_name=custom -j8 -O2
./build_out/cann-ops-math-custom_linux-${HOST_ARCH}.run
Example 编译与运行:
cd <ops-repo>/experimental/math/sqrt_grad/examples
./run.sh