| fix: 修复 stateless_random_uniform_v3 与 stateless_random_choice_with_mask 样例运行期问题 Co-authored-by: xuejinghui<xuejinghui@huawei.com> # message auto-generated for no-merge-commit merge: !6997 merge fix/ops-math-20261102-102928-ops-math-stateless-random-choice-with-mask-stateless-ran into master fix: 修复 stateless_random_uniform_v3 与 stateless_random_choice_with_mask 样例运行期问题 Created-by: xuejinghui Commit-by: xuejinghui Merged-by: cann-robot Description: ## 描述 两个样例此前仅以 --noexec 验证过编译(!5867),实际运行均失败,本 PR 修复运行期问题: ### 一、stateless_random_uniform_v3 eager 样例运行失败(Run failed: 561103) - 复现:bash build.sh --run_example stateless_random_uniform_v3 eager --example_name=stateless_random_uniform_v3 --soc=ascend950 - 失败链路:RandomTilingParseArch35 GetHardwareInfo Failed, vectorCoreNum:0 → tiling compile info parse failed → InitTilingParseCtx failed → Run failed: 561103 - 根因:样例使用裸 l0op 执行器直调(CREATE_EXECUTOR + l0op::StatelessRandomUniformV3 + executor->Run()),不经过 aclnn 两段式接口,L2 线程上下文(AIC/AIV 核数)未被初始化(正常由 aclnn 层 InitL2Phase1Context/L2_DFX_PHASE_1 填充);执行期 TilingParse 获取的平台信息 vector_core_cnt 被覆写为 0,tiling parse 校验失败。 - 修改:样例在调用 l0op 前补 InitL2Phase1Context("StatelessRandomUniformV3", nullptr); ### 二、stateless_random_choice_with_mask graph 样例输入构造缺陷 - 该算子仅提供图模式样例(无 op_api/aclnn 入口,eager 提示 does not have eager examples 属预期);graph 运行失败已由 !6835(OutputShapeDependOnCompute 注册)修复。 - 本次排查发现样例自身缺陷:BOOL 输入 x 用 GenOnesDataFloat32 生成(float 1.0f 小端前两字节为 0x00),x 实际全为 false,输出恒为全 padding、mask 全 false,样例演示无意义;且 y/mask 输出 desc 形状与 count=3 不一致。 - 修改:x 改用 ADD_INT_INPUT 生成(int32 缓冲小端首字节 0x01 → x=[true,false],与 concat 样例 BOOL 生成方式一致),y/mask 输出 desc 对齐 count=3({3,1}/{3})。 ## 关联的Issue #4399 ## 测试 (Ascend950PR_9579,CANN 9.3.0~weekly.20261028.01,本 PR head 559fa3c9) 1. bash build.sh --run_example stateless_random_uniform_v3 eager --example_name=stateless_random_uniform_v3 --soc=ascend950:StatelessRandomUniformV3 test passed! / execute samples success(修复前 Run failed: 561103) 2. 本仓 HEAD 构建 vendor 包(build_out/cann-ops-math-*.run 安装至 vendors)后 bash build.sh --run_example stateless_random_choice_with_mask graph --example_name=stateless_random_choice_with_mask --soc=ascend950:execute samples success,实际输出 y=[0,0,0]/mask=[1,0,0](x=[true,false]、count=3 → 1 个有效索引 + 2 个填充,语义正确;修复前输出恒为全 padding、mask 全 false) 3. pre-commit 全钩子(clang-format/codespell/OAT 合规等)通过 说明:本地默认内置算子包为 10-28 构建(早于 !6835),该环境下 graph 样例需安装与本仓代码匹配的包后运行;本 PR 仅修改两份样例代码,不涉及算子 op_host/op_kernel,无算子行为影响。 ## 文档更新 不涉及 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6997 | 9 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 |
| feat: add truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 Co-authored-by: zhangdongdong34<zhangdongdong34@huawei.com> # message auto-generated for no-merge-commit merge: !6169 merge adapt_960_1009 into master feat: add truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 Created-by: zhangdongdong34 Commit-by: zhangdongdong34 Merged-by: cann-robot Description: ## 描述 truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3676 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6169 | 22 days ago |
| feat: add truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 Co-authored-by: zhangdongdong34<zhangdongdong34@huawei.com> # message auto-generated for no-merge-commit merge: !6169 merge adapt_960_1009 into master feat: add truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 Created-by: zhangdongdong34 Commit-by: zhangdongdong34 Merged-by: cann-robot Description: ## 描述 truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3676 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6169 | 22 days ago |
| 随机数算子新增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 |
| feat: add truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 Co-authored-by: zhangdongdong34<zhangdongdong34@huawei.com> # message auto-generated for no-merge-commit merge: !6169 merge adapt_960_1009 into master feat: add truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 Created-by: zhangdongdong34 Commit-by: zhangdongdong34 Merged-by: cann-robot Description: ## 描述 truncatedNormalV2/stateless_random_uniform_v2/stateless_random_uniform_v3 support 960 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/3676 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6169 | 22 days ago |
| docs: 修复stateless_random_uniform_v2/v3算子README中key/counter类型错误并补充形状要求 Co-authored-by: zhangdongdong34<zhangdongdong34@huawei.com> # message auto-generated for no-merge-commit merge: !6767 merge master into master docs: 修复stateless_random_uniform_v2/v3算子README中key/counter类型错误并补充形状要求 Created-by: zhangdongdong34 Commit-by: zhangdongdong34 Merged-by: cann-robot Description: ### 问题背景 关联 Issue:https://gitcode.com/cann/ops-math/issues/3990 StatelessRandomUniformV3 算子 README 中 key/counter 的数据类型误写为 INT64,与实现不一致: - OpDef 注册类型为 DT_UINT64(random/stateless_random_uniform_v3/op_host/stateless_random_uniform_v3_def.cpp:63-76) - arch35 Tiling 校验类型为 UINT64(random/stateless_random_uniform_v3/op_host/arch35/stateless_random_uniform_v3_tiling_arch35.cpp:45-46) - Kernel 按 uint64_t 从 GM 读取(random/stateless_random_uniform_v3/op_kernel/arch35/stateless_random_uniform_v3.h:75-79) 按文档传入有符号 INT64 输入会与算子注册、tiling 校验不符,不能因"都是 64 位存储"而视为类型契约相同。 ### 修改内容 1. **stateless_random_uniform_v3/README.md**: - key:INT64 → UINT64,描述补充"形状为[1]"(tiling 已限制 key 元素个数为 1,kernel 读取 1 个元素) - counter:INT64 → UINT64,描述补充"一维张量,元素个数不少于2"(kernel 固定读取 2 个元素) 2. **stateless_random_uniform_v2/README.md**(同类问题,同步修复): - key:INT64 → UINT64,形状为[1] - counter:INT64 → UINT64,一维张量,元素个数不少于2 - 依据:OpDef 注册 DT_UINT64,kernel 读取 1 个 key 元素和 2 个 counter 元素(random/stateless_random_uniform_v2/op_kernel/arch35/stateless_random_uniform_v2.h:85-89) ### 影响分析 仅文档修改,不涉及代码变更。 See merge request: cann/ops-math!6767 | 13 days ago |
| docs: add English translations for markdown files Co-authored-by: jenny_xiang<jenny.xiang@huawei.com> # message auto-generated for no-merge-commit merge: !7113 merge docs/add-english-translations into master docs: add English translations for markdown files Created-by: jenny_xiang Commit-by: jenny_xiang Merged-by: cann-robot Description: ## 描述 新增仓库Markdown文档英文译稿(第二批,共409个文件):第一批(已合入)之外的其余全部译稿,覆盖conversion、examples、ge、math、random各类算子README译稿,以及CHANGELOG_en.md、.gitcode PR模板英文版等。 本批内全部仓内链接均指向master已有文件(含第一批已合入的21+2篇译稿),合入后本仓432篇英文文档全部就位,链接完整生效。 本批同时包含4篇基于最新源文档的增量更新(math/ada_cast、math/prod_force_se_a、math/sinkhorn、math/xlogy,对应上游近期文档变更)。 ## 关联的Issue 无 ## 测试 文档类变更,无需算子测试;已通过链接有效性校验(本批全部相对链接仅指向master已有文件,无指向本PR外未提交文件的链接),并完成逐篇翻译规范自查与语义校对(含支持状态表、限定词、术语、数值符号核对)。 ## 文档更新 新增409个英文译稿文件(*_en.md / .en-US.md),不修改任何现有文件。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7113 | 6 days ago |