| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[社区任务] aclnnBernoulli低内存实现 Co-authored-by: hzw_rpap<692596316@qq.com> # message auto-generated for no-merge-commit merge: !4248 merge task/aclnn-bernoulli into master [社区任务] aclnnBernoulli低内存实现 Created-by: hzw_rpap Commit-by: hzw_rpap Merged-by: cann-robot Description: ## 描述 本 PR 为 Atlas A2/A3 训练系列产品提供 aclnnBernoulli 和 aclnnInplaceBernoulli 的低内存实现,代码位于 experimental/random/bernoulli_mask。 一般概率路径保留 DSAGenBitMask 的 seed/offset 随机序列生成逻辑,新增 Ascend C BernoulliMask Kernel,将 packed bit mask 直接展开为目标数据类型的 0 或 1,避免原实现中全尺寸 Fill、DropoutDoMask 及部分 Cast 中间张量带来的额外内存占用。 对于满足存储条件的连续输出,压缩 mask 与输出复用同一块设备内存,Kernel 从高地址向低地址分波展开,并在波次之间同步,避免覆盖尚未读取的 mask。小张量和非连续输出使用独立缓冲区,非连续结果通过 ViewCopy 写回目标 view。prob=0 和 prob=1 分别沿用 ZerosLike 和 OnesLike 快速路径。 实现支持 Atlas A2/A3、10 种输出数据类型、4 种 probability 数据类型、标量、空 Tensor、rank 0~8、连续及非连续 Tensor,以及 out-of-place 和 inplace 调用。 ## 关联的Issue - Issue:https://gitcode.com/cann/ops-math/issues/2322 - 设计文档:https://gitcode.com/cann/cann-ops-competitions/pull/671 ## 测试 测试环境为 CANN 8.5.2,测试平台为 Atlas A2 和 Atlas A3。功能、性能和内存测试基于源码提交 295d1e7fe793d3e5477d00cd1af86ebcea770f1d;后续变更仅包含 clang-format 格式整理、README 表述修订和提交历史合并,不改变算子实现语义。 测试结果如下: - ACLNN 功能矩阵:A2 77/77,A3 77/77; - ACLNN ST:A2 97/97,A3 97/97; - 随机分布统计:A2 15/15,A3 15/15; - Tensor probability 兼容回归:A2 8/8,A3 8/8; - TTK Kernel 通用用例:A2 26/26,A3 26/26; - TTK Kernel 存储复用用例:A2 8/8,A3 8/8; - Sanitizer:A2/A3 均为 115 PASS、13 LIMITED、0 FAIL; - 性能测试:A2/A3 的 5 种主要数据类型 P50、P90 均无性能回退; - 内存测试:A2/A3 与 H800 MIG GPU 的四组 total peak allocated/reserved 差距均小于 5%; - 平台专项验证:A2 AscendOpTest 2/2,A3 Host UT 36/36。 Sanitizer 中 13 项 LIMITED 为 CANN 8.5 对 masked Select 指令的已知识别限制,未计入 PASS,全部检查均无失败项。 ## 文档更新 - 新增 BernoulliMask 算子 README,说明接口、约束、实现原理、构建和测试方法; - 新增 ACLNN 调用样例及使用说明; - 新增 ACLNN ST 运行说明; - 新增 Kernel TTK 通用及存储复用测试配置。 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [x] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4248 | 30 天前 | |
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!417 | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 30 天前 | ||
| 8 个月前 |