| docs(norm): 修正 6 个 aclnn 算子 A5 确定性计算描述 Co-authored-by: HelloWord-LuXin<luxin67@h-partners.com> # message auto-generated for no-merge-commit merge: !8709 merge fix-bn-groupnorm-deterministic-doc into master docs(norm): 修正 6 个 aclnn 算子 A5 确定性计算描述 Created-by: HelloWord-LuXin Commit-by: HelloWord-LuXin Merged-by: cann-robot Description: ## 修改内容 修正 aclnnBatchNorm、aclnnBatchNormElemt、aclnnBatchNormBackward、aclnnGroupNormBackward、aclnnRmsNormGrad、aclnnRmsNormGradQuant 六个算子文档中 A5(Ascend 950) 确定性计算描述与代码实际行为不符的问题。 close #4890 ## 问题分析 原描述为「默认非确定性实现,支持通过 aclrtCtxSetSysParamOpt 开启确定性」,未区分芯片版本。代码核查表明: A5(Ascend 950) 的 arch35/regbase kernel 使用 SyncAll 做核间同步,无 SetAtomicAdd;regbase tiling 不检查 GetDeterministic(),不读取 aclrtCtxSetSysParamOpt 设置。因此 A5 实际为默认确定性实现,且不支持通过 aclrtCtxSetSysParamOpt 开启确定性。 ## 代码依据 | 算子 | A5 GetDeterministic() | A5 SetAtomicAdd | A5 同步机制 | |------|-----------------------|-----------------|-------------| | aclnnBatchNorm | 否 | 否 | SyncAll | | aclnnBatchNormElemt | 否 | 否 | 无跨核归约 | | aclnnBatchNormBackward | 否 | 否 | SyncAll | | aclnnGroupNormBackward | 否 | 是(workspace写入) | SyncAll+二分树归约 | | aclnnRmsNormGrad | 否 | 否 | SyncAll | | aclnnRmsNormGradQuant | 否 | 否 | 无跨核归约 | > GroupNormBackward A5 虽使用 SetAtomicAdd 写 workspace,但 SPLIT_COUNT=2 保证每个 workspace slot 仅 2 个核写入,浮点加法交换律(a+b==b+a)保证结果确定;stage2 用 SyncAll + 二分树归约,最终输出无 atomic add。 ## 修改方案 仅修改 A5(Ascend 950) 描述,区分芯片版本描述: | 算子 | A5 描述 | |------|---------| | aclnnBatchNorm | → 默认确定性实现 | | aclnnBatchNormElemt | → 默认确定性实现 | | aclnnBatchNormBackward | → 默认确定性实现 | | aclnnGroupNormBackward | → 默认确定性实现 | | aclnnRmsNormGrad | → 默认确定性实现 | | aclnnRmsNormGradQuant | → 默认确定性实现 | ## 涉及文件 - norm/batch_norm_v3/docs/aclnnBatchNorm.md — 分架构描述,A5 改为默认确定性实现 - norm/batch_norm_elemt/docs/aclnnBatchNormElemt.md — 分架构描述,A5 改为默认确定性实现 - norm/batch_norm_grad_v3/docs/aclnnBatchNormBackward.md — 分架构描述,A5 改为默认确定性实现 - norm/group_norm_grad/docs/aclnnGroupNormBackward.md — 分架构描述,A5 改为默认确定性实现 - norm/rms_norm_grad/docs/aclnnRmsNormGrad.md — 分架构描述,A5 改为默认确定性实现 - norm/rms_norm_grad_quant/docs/aclnnRmsNormGradQuant.md — 仅 A5 支持,改为默认确定性实现 - docs/zh/op_api_list.md — 同步修正上述 6 个算子的 A5 列 See merge request: cann/ops-nn!8709 | 1 天前 |