| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix: Acosh/Asinh 示例 include 路径加 aclnnop/ 前缀,修复默认模式编译找不到头文件 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !4804 merge master into master fix: Acosh/Asinh 示例 include 路径加 aclnnop/ 前缀,修复默认模式编译找不到头文件 Created-by: Coder_Nerd Commit-by: cann-robot Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复Asinh、Acosh算子example运行失败问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2669 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4804 | 22 天前 | |
fix: Acosh/Asinh 示例 include 路径加 aclnnop/ 前缀,修复默认模式编译找不到头文件 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !4804 merge master into master fix: Acosh/Asinh 示例 include 路径加 aclnnop/ 前缀,修复默认模式编译找不到头文件 Created-by: Coder_Nerd Commit-by: cann-robot Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复Asinh、Acosh算子example运行失败问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2669 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4804 | 22 天前 | |
fix: Acosh/Asinh 示例 include 路径加 aclnnop/ 前缀,修复默认模式编译找不到头文件 Co-authored-by: cann-robot<cann@cann.team> # message auto-generated for no-merge-commit merge: !4804 merge master into master fix: Acosh/Asinh 示例 include 路径加 aclnnop/ 前缀,修复默认模式编译找不到头文件 Created-by: Coder_Nerd Commit-by: cann-robot Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复Asinh、Acosh算子example运行失败问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/2669 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4804 | 22 天前 | |
新增 Acosh/Atanh/Exp 算子 AICPU 实现 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !2781 merge acosh_atanh_exp into master 新增 Acosh/Atanh/Exp 算子 AICPU 实现 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 本次 PR 将 Acosh、Atanh、Exp 三个算子从 canndev 迁移到 ops-math,并新增 AICPU 实现。 ### 主要变更 1. **新增算子 AICPU 实现** - math/acosh/: Acosh 算子(反双曲余弦) - math/atanh/: Atanh 算子(反双曲正切) - math/exp/: Exp 算子(指数函数) 2. **目录结构** - op_graph/<op>_proto.h: IR proto 定义 - op_kernel_aicpu/<op>_aicpu.h/cpp: AICPU 计算核实现 - op_kernel_aicpu/<op>_aicpu_def.cpp: OP_ADD 注册 - op_api/<op>.h/cpp, op_api/aclnn_<op>.h/cpp: aclnn 主机侧 API - tests/ut/op_kernel_aicpu/test_<op>.cpp: AICPU 单元测试 - examples/test_geir_<op>.cpp: 示例代码 3. **测试验证** - AICPU UT: 16/16 PASSED - 自定义算子包构建和安装成功 - Example 执行验证通过(graph 模式) ## 关联的Issue #1577 ## 测试 根据代码变更,测试场景如下: ### 1. AICPU 单元测试 bash bash build.sh -u --opkernel_aicpu --ops=acosh,atanh,exp --soc=ascend910b - 验证所有算子的 AICPU 实现正确性 - **结果**: 16/16 PASSED ### 2. 自定义算子包构建 bash bash build.sh --pkg --soc=ascend910b --vendor_name=custom --ops=acosh,atanh,exp - 验证算子能正确构建为自定义算子包 - **结果**: 成功生成 cann-ops-math-custom_linux-aarch64.run ### 3. 算子包安装验证 bash # 安装 .run 包 ./build_out/cann-ops-math-custom_linux-aarch64.run - 验证算子包能正确安装到 CANN 环境 - **结果**: 安装成功到 /home/developer/Ascend/cann-9.0.0/opp/vendors/custom_math/ ### 4. 算子加载测试 bash # 执行 example 验证算子加载 bash build.sh --run_example acosh graph cust --vendor_name=custom --soc=ascend910b bash build.sh --run_example atanh graph cust --vendor_name=custom --soc=ascend910b - 验证算子接口注册成功 - 验证 AICPU 调度路径正确(使用 aicpu_custom_scheduler) - **结果**: 所有算子数学计算正确,AICPU 调度验证通过 ### 5. 日志验证 - 设置 ASCEND_GLOBAL_LOG_LEVEL=0 捕获详细日志 - 确认算子注册日志:Kernel[<Op>] register successfully - 确认算子执行日志:RunCpuKernel[<Op>] success ## 文档更新 - ✅ 更新 docs/zh/op_list.md,新增 Acosh、Atanh、Exp 算子说明 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述:算子迁移 See merge request: cann/ops-math!2781 | 3 个月前 | |
feat: Acosh/Asin 使能 AICPU 常量折叠 Co-authored-by: Ding_Jing<dingjing19@huawei.com> # message auto-generated for no-merge-commit merge: !4601 merge feat/enable-aicpu-constant-folding-acosh-asin into master feat: Acosh/Asin 使能 AICPU 常量折叠 Created-by: Ding_Jing Commit-by: Ding_Jing Merged-by: cann-robot Description: ## 描述 Acosh / Asin 的 opInfo.opsFlag 在 canndev(aicpu_kernel.ini:43 / :251)与 ops-math 侧 *_aicpu_def.cpp 中均已是 OPS_FLAG_OPEN,但两个算子都没有编进 host 侧 libopconstant_folding_math.so——属于「**标志已开、实际不折叠**」的空开状态。 常量折叠生效需要两个条件同时满足:① opsFlag = OPEN;② kernel 编进折叠 so。本 PR 补上条件 ②。 **改动内容** | 文件 | 说明 | |---|---| | math/{acosh,asin}/CMakeLists.txt | add_all_modules_sources(...) 末尾追加 HOSTCPU TRUE | | math/{acosh,asin}/op_kernel_aicpu/*_aicpu.cpp | 增 #include "aicpu/math_aicpu_register.h";注册宏 REGISTER_CPU_KERNEL → OPS_MATH_REGISTER_CPU_KERNELV2 | | math/{acosh,asin}/examples/test_geir_*_const_folding.cpp | 新增 Const → Op → Output 图,写法对齐 #2551 的 test_geir_ceil_const_folding.cpp | | math/{acosh,atanh}/op_kernel_aicpu/CMakeLists.txt | 删除。全仓无 add_subdirectory(.../op_kernel_aicpu),其内容已被 cmake/func.cmake 的 glob 覆盖,属死文件 | opsFlag 未改动(本就是 OPEN)。device-only 依赖体检干净(无 ascend_hal / halSdma / __aarch64__ / asm volatile),无需条件编译隔离。 > **关于 diff 体积**:*_aicpu.cpp 的大段变更是 clang-format 对旧格式文件的整份重排,**语义改动只有上述 2 行**。已用「去空白后逐行比对」确认其余差异全是大括号换行与参数折行,无夹带。与 #2551 中 concat_v2 / strided_slice 等文件情况相同。 ## 关联的Issue #2601 ## 测试 1. **全量构建(必须不带 --ops=)**:bash build.sh --pkg -j16,0 错误。 带 --ops= 会设 ENABLE_CUSTOM=TRUE,使 NOT ENABLE_CUSTOM 不成立、折叠 so 根本不产出,那样的「验证通过」是假绿。 2. **CMake 配置期**:新增 acosh_host_const_obj、asin_host_const_obj 两个目标(连同存量共 10 个)。 3. **so 内容三向对照**(libopconstant_folding_math.so,8146408 字节): - 正向:acosh_aicpu.cpp / asin_aicpu.cpp 源文件名与 Acosh / Asin 类型字符串均命中 - 存量:Conj / Tile / Zeta / TransData / TopKPQDistanceV2 等仍命中,未打破存量 - 反向:8 个 opsFlag=CLOSE 的算子(Asinh、Atanh、TanhGrad、Exp、MatrixDiagV3、MatrixDiagPartV3、ConjugateTranspose、ProdEnvMatACalcRij)全部缺失 - 其中 **Asin 命中而 Asinh 缺失**,排除 strings 子串碰巧匹配 4. **so 进 run 包**:--list 可见于 opp/built-in/op_impl/host_cpu/,与构建产物 md5 一致(7f06b290...)。 5. **V2 注册路径**:新增 .o 中含 weak 符号 aicpu::RegistCpuKernelV2 与 Creator_kAcosh_Kernel / Creator_kAsin_Kernel。 6. **device 侧零回归**:宏在未定义 OPS_MATH_AICPU_HOST_KERNEL 时展开为原 REGISTER_CPU_KERNEL(kAcosh, AcoshCpuKernel),与改动前源码行逐字相同(预处理探针实测)。 7. **AICPU UT:13/13 PASS**(bash build.sh -u --opkernel_aicpu --ops=acosh,asin)。 8. **端到端**:安装 run 包后跑新增的两个 example,折叠日志 Constant folding computation for node acosh_const_folding (type: Acosh) finished, return code: 0.(Asin 同),数值正确;Registered V2 ops from so[libopconstant_folding_math.so] 由 **1 增至 9**。 ## 文档更新 无。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4601 | 23 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 22 天前 | ||
| 22 天前 | ||
| 22 天前 | ||
| 3 个月前 | ||
| 23 天前 |