| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(cdist_grad): 反向梯度用高精度 Power 替代 exp/log 提升精度 Co-authored-by: chenxingyu18<chenxingyu18@huawei.com> # message auto-generated for no-merge-commit merge: !3689 merge 9.1.0 into 9.1.0 fix(cdist_grad): 反向梯度用高精度 Power 替代 exp/log 提升精度 Created-by: chenxingyu18 Commit-by: chenxingyu18 Merged-by: cann-robot Description: ## 描述 cdist_grad 的 GENERAL(0<p<2)与 LARGEP(p>2)反向梯度原先用 Exp(Muls(Log(ratio),p-1)) 近似 pow,相对 torch std::pow 不达标。改用 AscendC::Power 实现要点(自定义节点 CdistGradPowDftOp):AscendC::Power 的「不带 tmpBuffer」重载会 PopStackBuffer 取 DOUBLE_FLOAT_TECH 所需的 3 块 float buffer,而 DAG 框架未建栈 buffer 池 -> 读脏内存出垃圾(整行常数/量级错)。故用 DAG 正规节点 Abs(SafeRatio) 产出 tmpBuf(DAG 按 MaxAliveNode 分配,不撞 UB),传给 CdistGradPowDftOp 调「带 tmpBuffer」重载,绕开 PopStackBuffer。保留 ratio+mask 结构:cdist==0 时 ratio=0 -> Power(0,p-1)=0,不产生 0/0=NaN。 (本 PR 为 9.1.0 分支的相同改动。) ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2110 ## 测试 - ascend950:bash build.sh --opkernel --soc=ascend950 --ops=cdist_grad 编译通过; - 精度(ATK 式 ratio = RMSE(NPU,fp64)/RMSE(CPUfp32-libm,fp64),阈值 2.0): p=2.6 LARGE_P **4.65 -> 0.92**;p=1.4/0.79/0.338 GENERAL 0.81~1.05 —— 全部达标; - shape 模糊(1x1 到 4x4x4096、大 Q、非对齐 M、带 batch)全部正确,无 UB 冲突; - 边缘(cdist==0 / 负值 / 极小)NPU 与 CPU 的 NaN 位置一致,不产生 inf*0=NaN。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3689 | 1 个月前 | |
cdist_grad 950 use compare_select Co-authored-by: chenxingyu18<chenxingyu18@huawei.com> # message auto-generated for no-merge-commit merge: !3278 merge master into master cdist_grad 950 use compare_select Created-by: chenxingyu18 Commit-by: chenxingyu18 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> cdist_grad 950的p=inf分支,使用算术运算在临界值域时存在精度问题,现使用compare + select替代,以提升精度 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1953 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已通过泛化测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3278 | 2 个月前 | |
add cdist_grad 950 Co-authored-by: chenxingyu18<chenxingyu18@huawei.com> # message auto-generated for no-merge-commit merge: !2981 merge master into master add cdist_grad 950 Created-by: chenxingyu18 Commit-by: chenxingyu18 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> cdist_grad 支持950 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1924 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 已通过泛化验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2981 | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 |