| Files | Last commit | Last update |
|---|---|---|
修复 ops-math 接口文档扫描问题(错别字/标点/多字,59条/47文件) Co-authored-by: liujing987913<liujing407@h-partners.com> # message auto-generated for no-merge-commit merge: !7161 merge master into master 修复 ops-math 接口文档扫描问题(错别字/标点/多字,59条/47文件) Created-by: liujing987913 Commit-by: liujing987913 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> - 背景:大模型扫描发现 ops-math 接口文档问题 59 条(63 处) - 修改分类:多字/中文多字 41、同音字 6、引号未成对 10、术语拼写 2 - 涉及文件:docs/zh 及 math/conversion/random 下 47 个接口文档 md - 验证:git diff 确认为纯文本替换(63 处),无结构变化;已人工复核 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> https://gitcode.com/cann/ops-math/issues/4554 <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 本次 PR 更新了 ops-math 接口文档 47 个 md 文件(docs/zh、math/、conversion/、random/ 下),修正错别字/标点/多字共 63 处,详见 diff。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7161 | 7 days ago | |
docs(math): 补齐Xlogy README调用说明与aclnn接口文档dtype声明,修复样例缺陷 Co-authored-by: zhaoxinmeng<zhaoxinmeng1@huawei.com> # message auto-generated for no-merge-commit merge: !6987 merge fix/xlogy-readme-invoke into master docs(math): 补齐Xlogy README调用说明与aclnn接口文档dtype声明,修复样例缺陷 Created-by: zhaoxinmeng Commit-by: zhaoxinmeng Merged-by: cann-robot Description: ### 变更说明 修复静态扫描出的Xlogy算子资料与样例问题(关联Issue详见文末),共10个文件(+392/-423): **算子README(math/xlogy/README.md)** - 调用说明按样例分行补齐aclnn API入口(链接3份接口文档与5个两段式接口)与GE图模式行,表头/用语对齐模板要求 **aclnn接口文档(docs/下3份×中英)** - dtype声明从npu="A3"过滤标签改为所有产品支持类型并集,产品差异(Atlas推理/训练系列:self和other不支持BFLOAT16)在表下方按模板要求说明 - 功能说明公式对齐README:补零保护(self=0输出0)与NaN传播(other为NaN输出NaN)语义 - 删除标量参数误套的非连续Tensor/ND格式描述 **调用样例(examples/)** - 标量样例:aclCreateScalar失败分支打印日志并返回ACL_ERROR_FAILURE(含文档内嵌示例同步);整体改为unique_ptr+aclGuard RAII写法,失败提前返回时自动清理aclTensor/aclScalar、device内存与stream - GEIR样例:检查AddGraph返回值后再打印成功日志;成功路径补delete session释放ge::Session ### 实测验证(Ascend 950PR) - dtype并集口径与aclnnXLogY*第一段接口校验行为一致:tensor输入9种含BF16 - aclnnInplaceXLogYScalarOther的selfRef实际可用类型为FLOAT/FLOAT16/BF16,与文档3种浮点声明一致 - 全部样例修改后编译并上板运行通过,结果与golden一致 关联的Issue:[#4397](https://gitcode.com/cann/ops-math/issues/4397) See merge request: cann/ops-math!6987 | 9 days ago | |
迁移开源TF插件--math Co-authored-by: yaochen<yaochen15@huawei.com> # message auto-generated for no-merge-commit merge: !4308 merge transfer-math into master 迁移开源TF插件--math Created-by: nextyale Commit-by: yaochen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:迁移TF插件 See merge request: cann/ops-math!4308 | 3 months ago | |
refactor: 继续迁移非 experimental 公共头文件引用 Co-authored-by: clinglai0517<laichangling@huawei.com> # message auto-generated for no-merge-commit merge: !6220 merge refactor/math-prefix-common-headers-1008 into master refactor: 继续迁移非 experimental 公共头文件引用 Created-by: clinglai0517 Commit-by: clinglai0517 Merged-by: cann-robot Description: ## 描述 继续将 ops-math 的公共 op_api 头文件引用迁移到带 _math 后缀的名称,减少多个算子仓库集成时同名头文件误引用的风险。 本次更新 35 个非 experimental 文件中的 35 处引用: - level2_base.h → level2_base_math.h:11 处。 - level2_base_caculation.h → level2_base_caculation_math.h:1 处。 - op_api_def.h → op_api_def_math.h:23 处。 对涉及文件同步执行仓库 clang-format、尾部空白及 EOF 规范化。此次共 35 个文件,新增 2506 行、删除 2419 行;除头文件引用替换外,其余为格式调整。 sin 因此前发现的 UT 全局平台状态污染继续暂缓;experimental 文件继续分批处理。现有兼容转发头保留。 ## 关联的Issue 延续公共头文件重名问题的分阶段迁移:https://gitcode.com/cann/ops-math/issues/3243 ## 测试 在服务器 192.168.9.234 的 lcl_ops_9.0 容器(CANN 9.0.0 / aarch64)中,以基线 16700ac8d829f8e66180c612f45ed4384b51e2e0 创建独立工作区验证。35 个修改文件的 SHA256 与本地逐一一致。 - git diff --check:通过。 - pre-commit:所有 hook 通过;另显式扫描全部 35 文件的 OAT 检查通过。 - bash build.sh --opapi -j16:全量编译通过,生成 libopapi_math.so。 - 仓库 CI 脚本为涉及的 30 个算子生成 op_api 单测命令,指定 ascend910b 执行:605 个用例全部通过。 - 额外执行 fill_diagonal_v2,flatten,slogdet,svd 的 op_host 验证:容器中 libophost_math_ut.so 加载时缺少 ops::OpAICoreDef::AddConfig(const char*, ops::OpAICoreConfig&) 符号,导致注册失败及 FillDiagonalV2 InferShape 单测段错误。去掉全部 35 文件修改后的干净基线使用相同命令复现相同失败;该失败独立于本次头文件引用替换,op_host 验证尚未通过。 ## 文档更新 不涉及用户文档更新。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:公共头文件引用重构及格式规范化。 See merge request: cann/ops-math!6220 | 30 days ago | |
[CANNBot]950添加算子xlogy Co-authored-by: h1234515<huangzhiyuan21@huawei.com> # message auto-generated for no-merge-commit merge: !3011 merge xlogy2 into master [CANNBot]950添加算子xlogy Created-by: h1234515 Commit-by: h1234515 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 950添加算子xlogy ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1746 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3011 | 5 months ago | |
fix(xlogy): Tiling入口补输入dtype一致性校验与rank上界校验 Co-authored-by: zhaoxinmeng<zhaoxinmeng1@huawei.com> # message auto-generated for no-merge-commit merge: !7110 merge fix/xlogy-tiling-check into master fix(xlogy): Tiling入口补输入dtype一致性校验与rank上界校验 Created-by: zhaoxinmeng Commit-by: zhaoxinmeng Merged-by: cann-robot Description: ## 描述 为 Xlogy 算子 Tiling 入口补充两道参数校验(静态扫描 CODE.04/1 与 GEIR.07/1 的 tiling 侧整改),并补齐 Tiling UT,共 2 个文件(+204 行): - **输入dtype一致性校验**: GetShapeInfo 补 x1/x2 dtype 一致性校验,不一致返回 GRAPH_FAILED(OP_LOGE_FOR_INVALID_DTYPES_WITH_REASON,对齐 add_v2 同款写法),兑现 DESIGN.md 承诺与 README 约束 - **rank上界校验**:rank>8 返回 GRAPH_FAILED(kMaxRank 常量,OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON),消除 delta = R - rank_ 为负时 max_bro_shape 等以负下标写 TilingData、split.axis 错位的静态隐患 - **新增 Tiling UT**:tests/ut/op_host/arch35/test_xlogy_tiling_arch35.cpp 8 个用例(dtype 混合拒绝×2、rank 越界拒绝×2、正常成功×3、不支持 dtype 拒绝×1),填补该算子无 tiling UT 的空白 ## 关联的Issue [#4549](https://gitcode.com/cann/ops-math/issues/4549) ## 测试 - Tiling UT:13/13 全 PASS(新增 8 个 + infershape 回归 5 个) - TTK GEIR 通路实测(Ascend 950PR): - 默认模式(const + JIT编译):rank>8 被 APT 编译层 RANK_LIMIT=8 拦截(E80012) - -b release -d true(binary复用,ge.jit_compile=0):APT 拦截被绕过,rank=9 直达 Tiling,由本次新增校验拦截(EZ0012: input rank must be within [0, 8])——证明该校验为 binary 复用模式下的实际必需防线 - L0 功能精度用例 49/49 全 PASS(新校验不影响正常输入) - 完整构建 0 error,本地 pre-commit 全过(clang-format/OAT) ## 文档更新 无(纯代码与 UT) ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7110 | 8 days ago | |
【Xlogy】修复issue问题 nddmaParams_ 声明处补值初始化,消除 constantValue 未初始化读(issue #194) Co-authored-by: zhaoxinmeng<zhaoxinmeng1@huawei.com> # message auto-generated for no-merge-commit merge: !6739 merge xlogy into master 【Xlogy】修复issue问题 nddmaParams_ 声明处补值初始化,消除 constantValue 未初始化读(issue #194) Created-by: zhaoxinmeng Commit-by: zhaoxinmeng Merged-by: cann-robot Description: ## 描述 Xlogy arch35 kernel 的 nddmaParams_(MultiCopyParams 聚合数组)声明后 Init 只写 loopInfo、从未写 constantValue,而三参 NDDMA DataCopy(dst, src, params) 重载无条件读取 params.constantValue,构成确定性未初始化读(UB):mssanitizer initcheck 报 uninitialized read of size 4 on PRIVATE,定位在 xlogy_kernel.h:281 结构体拷贝处(auto params = nddmaParams_[inputIdx];),单用例 112 处。 修复:声明处补值初始化(覆盖 constantValue、结构体 padding 及未用槽位): diff - AscendC::MultiCopyParams<T, ND> nddmaParams_[kMaxInputSlots]; + AscendC::MultiCopyParams<T, ND> nddmaParams_[kMaxInputSlots] = {}; 另含 pre-commit clang-format 对该文件历史格式的机械整理(无语义变化)。 ## 关联的Issue https://gitcode.com/wangyueting/changwei_liuyi/issues/194 ## 测试 - 复现与闭环:同 issue 命令(mssanitizer --tool=initcheck + ttk kernel --compile-opts op_debug_config=sanitizer),用例 Xlogy_L0_tolerance_c_s_002(shape ((3,85,3,3,3,3,3,20,),(3,3,3,3,1,)) fp32),Ascend950PR_9579 / CANN 9.3.0:修复前 112 处 uninitialized read of size 4 on PRIVATE(反汇编定位 PC 0xac4/0xea4 为读取 nddmaParams_[0]/[1].constantValue 的 LD_IO.b32,两地址差 104 = sizeof(MultiCopyParams<float,5>));修复后同用例同命令 **0 错** - 功能等价:同 seed 修复前后输出 SHA256 一致,逐位相同(pad 未配置时 constantValue 语义不被消费,零行为影响) ## 文档更新 无 ## 类型标签 - [x] Bug修复 See merge request: cann/ops-math!6739 | 16 days ago | |
fix(xlogy): Tiling入口补输入dtype一致性校验与rank上界校验 Co-authored-by: zhaoxinmeng<zhaoxinmeng1@huawei.com> # message auto-generated for no-merge-commit merge: !7110 merge fix/xlogy-tiling-check into master fix(xlogy): Tiling入口补输入dtype一致性校验与rank上界校验 Created-by: zhaoxinmeng Commit-by: zhaoxinmeng Merged-by: cann-robot Description: ## 描述 为 Xlogy 算子 Tiling 入口补充两道参数校验(静态扫描 CODE.04/1 与 GEIR.07/1 的 tiling 侧整改),并补齐 Tiling UT,共 2 个文件(+204 行): - **输入dtype一致性校验**: GetShapeInfo 补 x1/x2 dtype 一致性校验,不一致返回 GRAPH_FAILED(OP_LOGE_FOR_INVALID_DTYPES_WITH_REASON,对齐 add_v2 同款写法),兑现 DESIGN.md 承诺与 README 约束 - **rank上界校验**:rank>8 返回 GRAPH_FAILED(kMaxRank 常量,OP_LOGE_FOR_INVALID_SHAPEDIM_WITH_REASON),消除 delta = R - rank_ 为负时 max_bro_shape 等以负下标写 TilingData、split.axis 错位的静态隐患 - **新增 Tiling UT**:tests/ut/op_host/arch35/test_xlogy_tiling_arch35.cpp 8 个用例(dtype 混合拒绝×2、rank 越界拒绝×2、正常成功×3、不支持 dtype 拒绝×1),填补该算子无 tiling UT 的空白 ## 关联的Issue [#4549](https://gitcode.com/cann/ops-math/issues/4549) ## 测试 - Tiling UT:13/13 全 PASS(新增 8 个 + infershape 回归 5 个) - TTK GEIR 通路实测(Ascend 950PR): - 默认模式(const + JIT编译):rank>8 被 APT 编译层 RANK_LIMIT=8 拦截(E80012) - -b release -d true(binary复用,ge.jit_compile=0):APT 拦截被绕过,rank=9 直达 Tiling,由本次新增校验拦截(EZ0012: input rank must be within [0, 8])——证明该校验为 binary 复用模式下的实际必需防线 - L0 功能精度用例 49/49 全 PASS(新校验不影响正常输入) - 完整构建 0 error,本地 pre-commit 全过(clang-format/OAT) ## 文档更新 无(纯代码与 UT) ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7110 | 8 days ago | |
Math仓算子适配Ascend350平台 Co-authored-by: huairuchen<chenhuairu@huawei.com> # message auto-generated for no-merge-commit merge: !6372 merge dvlite-math-350-adapt into master Math仓算子适配Ascend350平台 Created-by: huairuchen Commit-by: huairuchen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> Math仓部分随机数算子在350平台进行适配 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/4202 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 算子泛化测试,冒烟测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!6372 | 15 days ago | |
docs(math): 补齐Xlogy README调用说明与aclnn接口文档dtype声明,修复样例缺陷 Co-authored-by: zhaoxinmeng<zhaoxinmeng1@huawei.com> # message auto-generated for no-merge-commit merge: !6987 merge fix/xlogy-readme-invoke into master docs(math): 补齐Xlogy README调用说明与aclnn接口文档dtype声明,修复样例缺陷 Created-by: zhaoxinmeng Commit-by: zhaoxinmeng Merged-by: cann-robot Description: ### 变更说明 修复静态扫描出的Xlogy算子资料与样例问题(关联Issue详见文末),共10个文件(+392/-423): **算子README(math/xlogy/README.md)** - 调用说明按样例分行补齐aclnn API入口(链接3份接口文档与5个两段式接口)与GE图模式行,表头/用语对齐模板要求 **aclnn接口文档(docs/下3份×中英)** - dtype声明从npu="A3"过滤标签改为所有产品支持类型并集,产品差异(Atlas推理/训练系列:self和other不支持BFLOAT16)在表下方按模板要求说明 - 功能说明公式对齐README:补零保护(self=0输出0)与NaN传播(other为NaN输出NaN)语义 - 删除标量参数误套的非连续Tensor/ND格式描述 **调用样例(examples/)** - 标量样例:aclCreateScalar失败分支打印日志并返回ACL_ERROR_FAILURE(含文档内嵌示例同步);整体改为unique_ptr+aclGuard RAII写法,失败提前返回时自动清理aclTensor/aclScalar、device内存与stream - GEIR样例:检查AddGraph返回值后再打印成功日志;成功路径补delete session释放ge::Session ### 实测验证(Ascend 950PR) - dtype并集口径与aclnnXLogY*第一段接口校验行为一致:tensor输入9种含BF16 - aclnnInplaceXLogYScalarOther的selfRef实际可用类型为FLOAT/FLOAT16/BF16,与文档3种浮点声明一致 - 全部样例修改后编译并上板运行通过,结果与golden一致 关联的Issue:[#4397](https://gitcode.com/cann/ops-math/issues/4397) See merge request: cann/ops-math!6987 | 9 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 | 9 days ago |
Xlogy
English | 简体中文
Product Support Status
| Product | Supported |
|---|---|
| Ascend 950PR&950DT products | √ |
| Atlas A3 products | √ |
| Atlas A2 products | √ |
| Atlas 200I/500 A2 inference products | √ |
| Atlas inference products | √ |
| Atlas training products | √ |
Function Description
-
Operator function: computes x1 * log(x2) element-wise and supports broadcasting.
-
Computation formula:
outi={0if x1i=0x1i⋅ln(x2i)otherwiseout_i = \begin{cases} 0 & \text{if } x1_i = 0 \\ x1_i \cdot \ln(x2_i) & \text{otherwise} \end{cases} outi={0x1i⋅ln(x2i)if x1i=0otherwise
When x2 is NaN, the output propagates NaN.
Parameter Description
| Parameter Name | Input/Output/Attribute | Description | Data Type | Data Format |
|---|---|---|---|---|
| x1 | Input | The first input of xlogy, which is x1_i in the formula. | FLOAT, FLOAT16, BFLOAT16 | ND |
| x2 | Input | The second input of xlogy, which is x2_i in the formula. | FLOAT, FLOAT16, BFLOAT16 | ND |
| y | Output | The output of xlogy, which is out_i in the formula. | FLOAT, FLOAT16, BFLOAT16 | ND |
Constraint Description
- The inputs x1 and x2 must have the same data type.
- The maximum number of dimensions is 8.
Invocation Description
| Invocation Method | Sample Code | Description |
|---|---|---|
| aclnn API | test_aclnn_x_log_y_tensor | Invokes the Xlogy operator through the aclnnXLogYTensor and aclnnInplaceXLogYTensor APIs. |
| aclnn API | test_aclnn_x_log_y_scalar_self | Invokes the Xlogy operator through the aclnnXLogYScalarSelf API. |
| aclnn API | test_aclnn_x_log_y_scalar_other | Invokes the Xlogy operator through the aclnnXLogYScalarOther and aclnnInplaceXLogYScalarOther APIs. |
| GE graph mode | test_geir_xlogy | Invokes the Xlogy operator by building a graph through the operator IR. |