| Files | Last commit | Last update |
|---|---|---|
随机数算子新增st用例 Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !6387 merge master into master 随机数算子新增st用例 Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为 random 目录下 14 个此前缺少 ST 用例的随机数算子新增 Kernel 模式 ST 用例(tests/st/arch35/ttk_kernel__st.csv),共 75 条用例,补齐这些算子的 ST 测试覆盖。 涉及算子:drop_out_do_mask_v3、drop_out_v3_grad、random_uniform_int_v2、random_uniform_v2、stateless_bernoulli、stateless_normal、stateless_random、stateless_random_choice_with_mask、stateless_random_normal_v2、stateless_random_normal_v3、stateless_random_uniform_v2、stateless_random_uniform_v3、stateless_uniform、truncated_normal_v2。 ## 关联的Issue 关联 Issue:#3602 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:随机数算子新增st用例 See merge request: cann/ops-math!6387 | 25 days ago | |
新增stateless_random_uniform_v3和stateless_random_normal_v3及aclnn接口适配 Co-authored-by: huairuchen<chenhuairu@huawei.com> # message auto-generated for no-merge-commit merge: !2003 merge master into master 新增stateless_random_uniform_v3和stateless_random_normal_v3及aclnn接口适配 Created-by: huairuchen Commit-by: huairuchen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1、优化StatelessRandomUniformV2/StatelessRandomNormalV2:新增了支持aclTensor*类型seed和offset参数的算子接口,允许直接传递设备张量,避免了D2H拷贝。同时,重构了tiling逻辑,将key和counter参数的读取职责从tiling阶段转移至kernel执行阶段,直接从全局内存读取,简化了流程并提升了灵活性。 2、新增StatelessRandomUniformV3/StatelessRandomNormalV3:完整实现了该融合算子,包括API接口、Tiling逻辑、内核实现及配置文件。该算子基于Philox算法生成随机数,并通过v3KernelMode属性支持不同计算模式,将范围缩放的线性计算内联到kernel内核中,实现了算子融合,提升了执行效率。 3、梳理以下aclnn接口,确保了在非tensor接口和tensor接口情况下都能正确调用使用: aclnnInplaceUniform、aclnnInplaceUniformTensor、aclnnInplaceRandom、aclnnInplaceRandomTensor 使以上四个接口能够在A5芯片下正确调用stateless_random_uniform_v3算子,输入类型为double的情况下调用stateless_random_uniform_v2和小算子拼接,保证精度正常,性能不劣化; aclnnInplaceNormal、aclnnInplaceNormalTensor使以上两个接口能够在A5芯片下正确调用stateless_random_normal_v3算子,输入类型为double的情况下调用stateless_random_normal_v2和小算子拼接,保证精度正常,性能不劣化; aclnnNormalFloatFloat、aclnnNormalFloatTensor、aclnnNormalTensorFloat、aclnnNormalTensorTensor使以上四个接口能够在A5芯片下正确调用stateless_random_normal_v3算子,输入类型为double的情况下调用stateless_random_normal_v2和小算子拼接,保证精度正常,性能不劣化 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1128 https://gitcode.com/cann/ops-math/issues/1129 https://gitcode.com/cann/ops-math/issues/1130 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> TTK测试、UT测试、蓝区冒烟、二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!2003 | 7 months ago |