| fix(stateless_exponential): 优化lambd极小值约束的校验描述 Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !6464 merge fix/stateless-exponential-lambd-fp32-min into master fix(stateless_exponential): 优化lambd极小值约束的校验描述 Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 问题背景 stateless_exponential 的 lambd 参数经 IR Attr(FLOAT) 以 fp32 精度下发。当 lambd 为趋近于 0 的极小值(double 合法 > 0,但 < 2^-150 ≈ 7.006e-46)时,double→fp32 转换后下溢为 0,被 tiling 层以 lambd must be greater than 0 拒绝。该报错未说明根因,且 aclnn 层原值以 %f 打印(1e-46 显示为 0.000000),易被误读为入参校验缺陷。 对标竞品 PyTorch:lambd 接口恒为 double,host 按 double 原值校验 > 0;CUDA 上 fp32 输出对极小 lambd 放行并输出 +inf(IEEE 除零),不报错。本仓 self 仅支持 FP16/BF16/FP32,lambd 极小值在 fp32 精度下无有效计算意义(1/λ 恒溢出),故维持现有 <= 0 拦截口径不变。 ## 修改方案 **不改变任何判断逻辑**(拦截条件、拦截点、行为链完全不变),仅优化约束与校验描述,将约束口径明确为:**lambd 必须大于 0,且不能是 fp32 无法表示的极小值(double 转 fp32 后下溢为 0)**。 1. op_api/aclnn_stateless_exponential.cpp:CheckLambdability 报错补充极小值下溢说明;原值打印 %f 改为 %g(极小值不再显示 0.000000) 2. op_host/arch35/stateless_exponential_tiling_arch35.cpp:tiling 拒绝 reason 补充极小值下溢说明 3. docs/aclnnStatelessExponentialTensor.md:参数约束与错误码描述同步(定性描述,不承诺具体阈值:2^-150 依赖 IEEE 默认舍入模式,不宜作为对外承诺) 4. 新增 op_api 层 L2 UT(19 用例):lambd 正常域 / 小值 / subnormal / 极小值(double→fp32 下溢链路在 aclnn 层按 double 原值校验放行,构图通过)/ <=0 拒绝 / nullptr / dtype / 维度校验 5. 新增 aclnn 级 ST 用例:stateless_exponential 14 条、sim_thread_exponential 13 条(lambd 极小值/subnormal/FLT_MIN 边界),并为 sim_thread_exponential golden.py 补充 aclnnSpec ## Test Plan - [x] clang-format --dry-run -Werror 对改动 cpp 通过 - [x] ST csv 全字段 ast 解析与数值边界断言通过(float(1e-46)==0、float(1e-38) subnormal 保留、1e-37 全元素不溢出等) - [x] pre-commit 全量通过(clang-format / ruff check / ruff format / codespell / OAT) - [x] UT 宏展开参数序与 aclnnStatelessExponentialTensorGetWorkspaceSize 签名逐一核对 - [ ] CI 编译(compile 门禁) - [ ] ST 用例在 arch35 环境回归 Fixes #3765 See merge request: cann/ops-math!6464 | 20 days ago |
| stateless_exponential与drop_out_v3新增capture模式 Co-authored-by: zyf0712<zhangyufei63@huawei.com> # message auto-generated for no-merge-commit merge: !5468 merge Capture into master stateless_exponential与drop_out_v3新增capture模式 Created-by: zyf0712 Commit-by: zyf0712 Merged-by: cann-robot Description: ## 描述 stateless_exponential与drop_out_v3新增capture模式 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6279 ## 测试 本地门槛用例、冒烟均通过 ## 文档更新 aclnnDropoutV3Tensor.md、aclnnStatelessExponentialTensor.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5468 | 1 month ago |
| fix(stateless_exponential): 优化lambd极小值约束的校验描述 Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !6464 merge fix/stateless-exponential-lambd-fp32-min into master fix(stateless_exponential): 优化lambd极小值约束的校验描述 Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 问题背景 stateless_exponential 的 lambd 参数经 IR Attr(FLOAT) 以 fp32 精度下发。当 lambd 为趋近于 0 的极小值(double 合法 > 0,但 < 2^-150 ≈ 7.006e-46)时,double→fp32 转换后下溢为 0,被 tiling 层以 lambd must be greater than 0 拒绝。该报错未说明根因,且 aclnn 层原值以 %f 打印(1e-46 显示为 0.000000),易被误读为入参校验缺陷。 对标竞品 PyTorch:lambd 接口恒为 double,host 按 double 原值校验 > 0;CUDA 上 fp32 输出对极小 lambd 放行并输出 +inf(IEEE 除零),不报错。本仓 self 仅支持 FP16/BF16/FP32,lambd 极小值在 fp32 精度下无有效计算意义(1/λ 恒溢出),故维持现有 <= 0 拦截口径不变。 ## 修改方案 **不改变任何判断逻辑**(拦截条件、拦截点、行为链完全不变),仅优化约束与校验描述,将约束口径明确为:**lambd 必须大于 0,且不能是 fp32 无法表示的极小值(double 转 fp32 后下溢为 0)**。 1. op_api/aclnn_stateless_exponential.cpp:CheckLambdability 报错补充极小值下溢说明;原值打印 %f 改为 %g(极小值不再显示 0.000000) 2. op_host/arch35/stateless_exponential_tiling_arch35.cpp:tiling 拒绝 reason 补充极小值下溢说明 3. docs/aclnnStatelessExponentialTensor.md:参数约束与错误码描述同步(定性描述,不承诺具体阈值:2^-150 依赖 IEEE 默认舍入模式,不宜作为对外承诺) 4. 新增 op_api 层 L2 UT(19 用例):lambd 正常域 / 小值 / subnormal / 极小值(double→fp32 下溢链路在 aclnn 层按 double 原值校验放行,构图通过)/ <=0 拒绝 / nullptr / dtype / 维度校验 5. 新增 aclnn 级 ST 用例:stateless_exponential 14 条、sim_thread_exponential 13 条(lambd 极小值/subnormal/FLT_MIN 边界),并为 sim_thread_exponential golden.py 补充 aclnnSpec ## Test Plan - [x] clang-format --dry-run -Werror 对改动 cpp 通过 - [x] ST csv 全字段 ast 解析与数值边界断言通过(float(1e-46)==0、float(1e-38) subnormal 保留、1e-37 全元素不溢出等) - [x] pre-commit 全量通过(clang-format / ruff check / ruff format / codespell / OAT) - [x] UT 宏展开参数序与 aclnnStatelessExponentialTensorGetWorkspaceSize 签名逐一核对 - [ ] CI 编译(compile 门禁) - [ ] ST 用例在 arch35 环境回归 Fixes #3765 See merge request: cann/ops-math!6464 | 20 days ago |
| [feat] ChunkCat, StatelessSampleMultinonmial适配ascend960dt Co-authored-by: wsunmoon<wangming176@huawei.com> # message auto-generated for no-merge-commit merge: !6430 merge chunkcatMultinomial into master [feat] ChunkCat, StatelessSampleMultinonmial适配ascend960dt Created-by: wsunmoon Commit-by: wsunmoon Merged-by: cann-robot Description: ## 描述 ChunkCat, StatelessSampleMultinonmial算子适配960DT: 新增960DT二进制配置json文件 CMakeLists.txt文件配置960DT 算子信息库新增960DT aclnn接口新增支持960DT ChunkCat算子在960DT上做先分多核再分UB的性能优化 ## 关联的Issue 关联Issue [#3763](https://gitcode.com/cann/ops-math/issues/3763) ## 测试 UT, ST, 冒烟通过 ## 文档更新 不涉及 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-math!6430 | 19 days ago |
| add StatelessExponential for multinomial Co-authored-by: zhangxiyan7<zhangxiyan7@huawei.com> # message auto-generated for no-merge-commit merge: !4038 merge master into master add StatelessExponential for multinomial Created-by: zhangxiyan7 Commit-by: zhangxiyan7 Merged-by: cann-robot Description: ## 描述 当前multinomial接口中会通过exponential_小算子拼接,aclnnMultinomialTensor输入seed/offset是通过tensor输入,SimThreadExponential seed/offset作为属性输入,无法在aclnnMultinomialTensor中调用,因此新增StatelessExponential算子实现aclnnMultinomialTensor的seed/offset实现tensor输入。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2418 ## 测试 门槛用例通过,冒烟通过 ## 文档更新 新增stateless_exponential目录下README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4038 | 3 months ago |
| fix(stateless_exponential): 优化lambd极小值约束的校验描述 Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !6464 merge fix/stateless-exponential-lambd-fp32-min into master fix(stateless_exponential): 优化lambd极小值约束的校验描述 Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 问题背景 stateless_exponential 的 lambd 参数经 IR Attr(FLOAT) 以 fp32 精度下发。当 lambd 为趋近于 0 的极小值(double 合法 > 0,但 < 2^-150 ≈ 7.006e-46)时,double→fp32 转换后下溢为 0,被 tiling 层以 lambd must be greater than 0 拒绝。该报错未说明根因,且 aclnn 层原值以 %f 打印(1e-46 显示为 0.000000),易被误读为入参校验缺陷。 对标竞品 PyTorch:lambd 接口恒为 double,host 按 double 原值校验 > 0;CUDA 上 fp32 输出对极小 lambd 放行并输出 +inf(IEEE 除零),不报错。本仓 self 仅支持 FP16/BF16/FP32,lambd 极小值在 fp32 精度下无有效计算意义(1/λ 恒溢出),故维持现有 <= 0 拦截口径不变。 ## 修改方案 **不改变任何判断逻辑**(拦截条件、拦截点、行为链完全不变),仅优化约束与校验描述,将约束口径明确为:**lambd 必须大于 0,且不能是 fp32 无法表示的极小值(double 转 fp32 后下溢为 0)**。 1. op_api/aclnn_stateless_exponential.cpp:CheckLambdability 报错补充极小值下溢说明;原值打印 %f 改为 %g(极小值不再显示 0.000000) 2. op_host/arch35/stateless_exponential_tiling_arch35.cpp:tiling 拒绝 reason 补充极小值下溢说明 3. docs/aclnnStatelessExponentialTensor.md:参数约束与错误码描述同步(定性描述,不承诺具体阈值:2^-150 依赖 IEEE 默认舍入模式,不宜作为对外承诺) 4. 新增 op_api 层 L2 UT(19 用例):lambd 正常域 / 小值 / subnormal / 极小值(double→fp32 下溢链路在 aclnn 层按 double 原值校验放行,构图通过)/ <=0 拒绝 / nullptr / dtype / 维度校验 5. 新增 aclnn 级 ST 用例:stateless_exponential 14 条、sim_thread_exponential 13 条(lambd 极小值/subnormal/FLT_MIN 边界),并为 sim_thread_exponential golden.py 补充 aclnnSpec ## Test Plan - [x] clang-format --dry-run -Werror 对改动 cpp 通过 - [x] ST csv 全字段 ast 解析与数值边界断言通过(float(1e-46)==0、float(1e-38) subnormal 保留、1e-37 全元素不溢出等) - [x] pre-commit 全量通过(clang-format / ruff check / ruff format / codespell / OAT) - [x] UT 宏展开参数序与 aclnnStatelessExponentialTensorGetWorkspaceSize 签名逐一核对 - [ ] CI 编译(compile 门禁) - [ ] ST 用例在 arch35 环境回归 Fixes #3765 See merge request: cann/ops-math!6464 | 20 days ago |
| [feat] ChunkCat, StatelessSampleMultinonmial适配ascend960dt Co-authored-by: wsunmoon<wangming176@huawei.com> # message auto-generated for no-merge-commit merge: !6430 merge chunkcatMultinomial into master [feat] ChunkCat, StatelessSampleMultinonmial适配ascend960dt Created-by: wsunmoon Commit-by: wsunmoon Merged-by: cann-robot Description: ## 描述 ChunkCat, StatelessSampleMultinonmial算子适配960DT: 新增960DT二进制配置json文件 CMakeLists.txt文件配置960DT 算子信息库新增960DT aclnn接口新增支持960DT ChunkCat算子在960DT上做先分多核再分UB的性能优化 ## 关联的Issue 关联Issue [#3763](https://gitcode.com/cann/ops-math/issues/3763) ## 测试 UT, ST, 冒烟通过 ## 文档更新 不涉及 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-math!6430 | 19 days ago |
| stateless_exponential与drop_out_v3新增capture模式 Co-authored-by: zyf0712<zhangyufei63@huawei.com> # message auto-generated for no-merge-commit merge: !5468 merge Capture into master stateless_exponential与drop_out_v3新增capture模式 Created-by: zyf0712 Commit-by: zyf0712 Merged-by: cann-robot Description: ## 描述 stateless_exponential与drop_out_v3新增capture模式 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6279 ## 测试 本地门槛用例、冒烟均通过 ## 文档更新 aclnnDropoutV3Tensor.md、aclnnStatelessExponentialTensor.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!5468 | 1 month 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 | 5 days ago |