文件最后提交记录最后更新时间
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4175 个月前
refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2407 merge master into master refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将项目中所有 shell 脚本对 gawk 的依赖替换为纯 bash 实现,降低构建环境的外部依赖要求。 ### 改动原因 项目中多个脚本使用 gawk 进行日志时间戳格式化,导致 gawk 成为必需依赖。gawk 并非所有系统默认安装,可通过纯 bash 的 while read + date 组合实现相同功能,消除该依赖。 ### 改动方法 1. 将 build.sh、scripts/kernel/binary_script/ 下 7 个脚本、scripts/util/gen_compile_option.sh 共 9 个脚本中的 gawk 调用替换为 while IFS= read -r line; do echo "$(date '[%Y-%m-%d %H:%M:%S]') $line"; done 2. 移除 install_deps.sh 中的 install_gawk 函数及其调用(删除 31 行) 3. 从 docs/zh/install/quick_install.md 依赖列表中移除 gawk ## 关联的Issue - #1348 ## 测试 替换后的 bash 命令功能与原 gawk 命令一致,均为逐行读取输出并添加 [YYYY-MM-DD HH:MM:SS] 时间前缀。 ## 文档更新 更新了 docs/zh/install/quick_install.md,移除 gawk 依赖说明。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构-移除外部依赖 See merge request: cann/ops-math!24071 个月前
fix: 修复 kernel 编译脚本 timeout 命令未传递前台 SIGINT 信号的问题 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3024 merge master into master fix: 修复 kernel 编译脚本 timeout 命令未传递前台 SIGINT 信号的问题 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 修复 kernel 二进制编译脚本 build_binary_op_exe_task.shtimeout 命令无法正确传递 SIGINT 信号的问题。 ### 改动原因 timeout 命令默认会将子进程放入独立的后台进程组,导致前台 SIGINT 信号(Ctrl+C)无法正确传递给编译子进程,用户中断编译时子进程无法响应退出。 ### 改动方法 在 scripts/kernel/binary_script/build_binary_op_exe_task.sh 中,将 timeout 7200 改为 timeout --foreground 2h: - 添加 --foreground 选项:使 timeout 不创建独立进程组,SIGINT 信号能正确传递给子进程 - 将超时时间 7200(秒)改为 2h(小时),语义更清晰,保持超时时间不变 ## 关联的Issue - #1724 ## 测试 使用修改后的脚本执行 kernel 编译任务,验证 Ctrl+C 能正确中断编译进程并退出。 ## 文档更新 无需文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!30244 天前
kernel cost time Co-authored-by: 丛吉钰<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !1112 merge master into master kernel cost time Created-by: cong-jiyu Commit-by: 丛吉钰 Merged-by: cann-robot Description: ## 描述 在所有算子编译结束后,统计kernel耗时、.o总大小、应编译.o的数量 ### 使用方式 在ops-math目录下执行python3 scripts/ci/analyze_ops_time.py,会在build目录下生成ops_cost_{soc}.csv统计文件 ## 关联的Issue [#633](https://gitcode.com/cann/ops-math/issues/633) <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 每列具体信息为算子名、算子耗时、所有.o文件的大小、应编译.o的数量 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!11123 个月前
refactor: 重构kernel编译配置体系,将配置从JSON/INI迁移至CMake声明式函数 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3010 merge master into master refactor: 重构kernel编译配置体系,将配置从JSON/INI迁移至CMake声明式函数 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 重构了 kernel 二进制编译的配置管理体系,将原来分散在 ascendc_config.json*_simplified_key.iniall_ops_impl_mode.ini 等文件中的编译配置项(simplified_key_mode、impl_mode、auto_sync、compile_options)统一迁移为 CMake 声明式函数 add_kernel_sources() 的方式管理。 ### 改动原因 原有配置方式需要手动维护多处配置文件(JSON/INI),容易遗漏且难以追溯配置来源。通过将配置下沉到各算子目录的 op_kernel/CMakeLists.txt 中,使配置与代码就近维护,降低出错概率。 ### 改动方法 1. **新增 add_kernel_sources() CMake 函数**(cmake/func.cmake):算子通过在 op_kernel/CMakeLists.txt 中调用此函数声明编译参数(COMPUTE_UNITS、SIMPLIFIED_KEY、AUTO_SYNC、IMPL_MODE、OPTIONS),函数将配置收集到 CMake CACHE 变量列表中 2. **新增 gen_ops_compile_ini.py 脚本**:在编译阶段将 CMake 收集的配置列表生成 kernel-options-{soc_version}.ini 文件 3. **修改 build_binary_opc_gen_task.sh**:优先从新生成的 kernel-options-*.ini 读取 simplified_key 和 impl_mode 配置,找不到时降级到原有 ini 文件 4. **修改 gen_compile_option.sh**:优先从 kernel-options-*.ini 读取 auto_sync 和 compile_options,降级到 ascendc_config.json 5. **迁移 Add 算子配置**:将 Add 算子从 ascendc_config.json 迁移到 math/add/op_kernel/CMakeLists.txt,删除 math/add/op_host/config/ascend950/add_simplified_key.ini 6. **重构 get_op_type_from_op_name 函数**:从 gen_ops_info.cmake 移至 func.cmake,简化参数签名(移除 OP_DIR 参数) 7. **其他修复**:opp_uninstall.sh 修复变量名拼写错误(_module_apth_module_path);gen_binary_info_config.py 将 WARNING 日志降级为 INFO ## 关联的Issue - #1730 ## 测试 - Add 算子的 kernel 编译配置已通过新的 CMake 方式验证 - 构建系统全量编译通过 - binary 编译流程(asc_opc)使用新配置文件生成的参数正确 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统重构 See merge request: cann/ops-math!30105 天前
refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2407 merge master into master refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将项目中所有 shell 脚本对 gawk 的依赖替换为纯 bash 实现,降低构建环境的外部依赖要求。 ### 改动原因 项目中多个脚本使用 gawk 进行日志时间戳格式化,导致 gawk 成为必需依赖。gawk 并非所有系统默认安装,可通过纯 bash 的 while read + date 组合实现相同功能,消除该依赖。 ### 改动方法 1. 将 build.sh、scripts/kernel/binary_script/ 下 7 个脚本、scripts/util/gen_compile_option.sh 共 9 个脚本中的 gawk 调用替换为 while IFS= read -r line; do echo "$(date '[%Y-%m-%d %H:%M:%S]') $line"; done 2. 移除 install_deps.sh 中的 install_gawk 函数及其调用(删除 31 行) 3. 从 docs/zh/install/quick_install.md 依赖列表中移除 gawk ## 关联的Issue - #1348 ## 测试 替换后的 bash 命令功能与原 gawk 命令一致,均为逐行读取输出并添加 [YYYY-MM-DD HH:MM:SS] 时间前缀。 ## 文档更新 更新了 docs/zh/install/quick_install.md,移除 gawk 依赖说明。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构-移除外部依赖 See merge request: cann/ops-math!24071 个月前
refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2407 merge master into master refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将项目中所有 shell 脚本对 gawk 的依赖替换为纯 bash 实现,降低构建环境的外部依赖要求。 ### 改动原因 项目中多个脚本使用 gawk 进行日志时间戳格式化,导致 gawk 成为必需依赖。gawk 并非所有系统默认安装,可通过纯 bash 的 while read + date 组合实现相同功能,消除该依赖。 ### 改动方法 1. 将 build.sh、scripts/kernel/binary_script/ 下 7 个脚本、scripts/util/gen_compile_option.sh 共 9 个脚本中的 gawk 调用替换为 while IFS= read -r line; do echo "$(date '[%Y-%m-%d %H:%M:%S]') $line"; done 2. 移除 install_deps.sh 中的 install_gawk 函数及其调用(删除 31 行) 3. 从 docs/zh/install/quick_install.md 依赖列表中移除 gawk ## 关联的Issue - #1348 ## 测试 替换后的 bash 命令功能与原 gawk 命令一致,均为逐行读取输出并添加 [YYYY-MM-DD HH:MM:SS] 时间前缀。 ## 文档更新 更新了 docs/zh/install/quick_install.md,移除 gawk 依赖说明。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构-移除外部依赖 See merge request: cann/ops-math!24071 个月前
refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2407 merge master into master refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将项目中所有 shell 脚本对 gawk 的依赖替换为纯 bash 实现,降低构建环境的外部依赖要求。 ### 改动原因 项目中多个脚本使用 gawk 进行日志时间戳格式化,导致 gawk 成为必需依赖。gawk 并非所有系统默认安装,可通过纯 bash 的 while read + date 组合实现相同功能,消除该依赖。 ### 改动方法 1. 将 build.sh、scripts/kernel/binary_script/ 下 7 个脚本、scripts/util/gen_compile_option.sh 共 9 个脚本中的 gawk 调用替换为 while IFS= read -r line; do echo "$(date '[%Y-%m-%d %H:%M:%S]') $line"; done 2. 移除 install_deps.sh 中的 install_gawk 函数及其调用(删除 31 行) 3. 从 docs/zh/install/quick_install.md 依赖列表中移除 gawk ## 关联的Issue - #1348 ## 测试 替换后的 bash 命令功能与原 gawk 命令一致,均为逐行读取输出并添加 [YYYY-MM-DD HH:MM:SS] 时间前缀。 ## 文档更新 更新了 docs/zh/install/quick_install.md,移除 gawk 依赖说明。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构-移除外部依赖 See merge request: cann/ops-math!24071 个月前
add kirin9030 ops Co-authored-by: zengjuan<zengjuan2@huawei.com> # message auto-generated for no-merge-commit merge: !963 merge master into master add kirin9030 ops Created-by: zengjuan Commit-by: zengjuan Merged-by: cann-robot Description: ## 描述 add kirin9030 ops: conversion/circular_pad conversion/diag_flat conversion/diag_v2 conversion/feeds_repeat conversion/fill_diagonal_v2 conversion/masked_select_v3 conversion/stack_ball_query conversion/strided_slice_assign_v2 conversion/transpose_v2 math/angle_v2 math/is_finite math/is_inf math/lin_space math/mul_addn math/non_finite_check math/pows math/segsum math/transform_bias_rescale_qkv ## 关联的Issue https://gitcode.com/cann/ops-math/issues/602 ## 测试 蓝区门禁、黄区门禁、算子二级冒烟 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9633 个月前
refactor: 重构kernel编译配置体系,将配置从JSON/INI迁移至CMake声明式函数 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3010 merge master into master refactor: 重构kernel编译配置体系,将配置从JSON/INI迁移至CMake声明式函数 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本 PR 重构了 kernel 二进制编译的配置管理体系,将原来分散在 ascendc_config.json*_simplified_key.iniall_ops_impl_mode.ini 等文件中的编译配置项(simplified_key_mode、impl_mode、auto_sync、compile_options)统一迁移为 CMake 声明式函数 add_kernel_sources() 的方式管理。 ### 改动原因 原有配置方式需要手动维护多处配置文件(JSON/INI),容易遗漏且难以追溯配置来源。通过将配置下沉到各算子目录的 op_kernel/CMakeLists.txt 中,使配置与代码就近维护,降低出错概率。 ### 改动方法 1. **新增 add_kernel_sources() CMake 函数**(cmake/func.cmake):算子通过在 op_kernel/CMakeLists.txt 中调用此函数声明编译参数(COMPUTE_UNITS、SIMPLIFIED_KEY、AUTO_SYNC、IMPL_MODE、OPTIONS),函数将配置收集到 CMake CACHE 变量列表中 2. **新增 gen_ops_compile_ini.py 脚本**:在编译阶段将 CMake 收集的配置列表生成 kernel-options-{soc_version}.ini 文件 3. **修改 build_binary_opc_gen_task.sh**:优先从新生成的 kernel-options-*.ini 读取 simplified_key 和 impl_mode 配置,找不到时降级到原有 ini 文件 4. **修改 gen_compile_option.sh**:优先从 kernel-options-*.ini 读取 auto_sync 和 compile_options,降级到 ascendc_config.json 5. **迁移 Add 算子配置**:将 Add 算子从 ascendc_config.json 迁移到 math/add/op_kernel/CMakeLists.txt,删除 math/add/op_host/config/ascend950/add_simplified_key.ini 6. **重构 get_op_type_from_op_name 函数**:从 gen_ops_info.cmake 移至 func.cmake,简化参数签名(移除 OP_DIR 参数) 7. **其他修复**:opp_uninstall.sh 修复变量名拼写错误(_module_apth_module_path);gen_binary_info_config.py 将 WARNING 日志降级为 INFO ## 关联的Issue - #1730 ## 测试 - Add 算子的 kernel 编译配置已通过新的 CMake 方式验证 - 构建系统全量编译通过 - binary 编译流程(asc_opc)使用新配置文件生成的参数正确 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统重构 See merge request: cann/ops-math!30105 天前
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4175 个月前
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4175 个月前
refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2407 merge master into master refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将项目中所有 shell 脚本对 gawk 的依赖替换为纯 bash 实现,降低构建环境的外部依赖要求。 ### 改动原因 项目中多个脚本使用 gawk 进行日志时间戳格式化,导致 gawk 成为必需依赖。gawk 并非所有系统默认安装,可通过纯 bash 的 while read + date 组合实现相同功能,消除该依赖。 ### 改动方法 1. 将 build.sh、scripts/kernel/binary_script/ 下 7 个脚本、scripts/util/gen_compile_option.sh 共 9 个脚本中的 gawk 调用替换为 while IFS= read -r line; do echo "$(date '[%Y-%m-%d %H:%M:%S]') $line"; done 2. 移除 install_deps.sh 中的 install_gawk 函数及其调用(删除 31 行) 3. 从 docs/zh/install/quick_install.md 依赖列表中移除 gawk ## 关联的Issue - #1348 ## 测试 替换后的 bash 命令功能与原 gawk 命令一致,均为逐行读取输出并添加 [YYYY-MM-DD HH:MM:SS] 时间前缀。 ## 文档更新 更新了 docs/zh/install/quick_install.md,移除 gawk 依赖说明。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构-移除外部依赖 See merge request: cann/ops-math!24071 个月前
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4175 个月前
refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !2407 merge master into master refactor: 去除构建脚本对 gawk 的依赖,改用纯 bash 实现时间戳格式化 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将项目中所有 shell 脚本对 gawk 的依赖替换为纯 bash 实现,降低构建环境的外部依赖要求。 ### 改动原因 项目中多个脚本使用 gawk 进行日志时间戳格式化,导致 gawk 成为必需依赖。gawk 并非所有系统默认安装,可通过纯 bash 的 while read + date 组合实现相同功能,消除该依赖。 ### 改动方法 1. 将 build.sh、scripts/kernel/binary_script/ 下 7 个脚本、scripts/util/gen_compile_option.sh 共 9 个脚本中的 gawk 调用替换为 while IFS= read -r line; do echo "$(date '[%Y-%m-%d %H:%M:%S]') $line"; done 2. 移除 install_deps.sh 中的 install_gawk 函数及其调用(删除 31 行) 3. 从 docs/zh/install/quick_install.md 依赖列表中移除 gawk ## 关联的Issue - #1348 ## 测试 替换后的 bash 命令功能与原 gawk 命令一致,均为逐行读取输出并添加 [YYYY-MM-DD HH:MM:SS] 时间前缀。 ## 文档更新 更新了 docs/zh/install/quick_install.md,移除 gawk 依赖说明。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构-移除外部依赖 See merge request: cann/ops-math!24071 个月前
feat: 支持KERNEL_SRC机制,允许算子指定自定义kernel入口文件 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !3106 merge master into master feat: 支持KERNEL_SRC机制,允许算子指定自定义kernel入口文件 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 本PR支持KERNEL_SRC机制,允许算子通过CMake的KERNEL_SRC参数指定自定义的kernel入口文件名,而非使用默认的算子名作为入口文件。同步ops-nn PR#3936的cmake/scripts改动。 ### 改动内容 1. **CMake构建系统改造**: - cmake/func.cmakeadd_kernel_sources()函数新增KERNEL_SRC参数,用于指定自定义kernel入口文件(缺省为算子名.cpp),并在显式指定时将其记录到KERNEL_SRC_LIST缓存变量中 - cmake/opbuild.cmake:在opbuild构建流程中新增调用insert_kernel_src.py脚本,将kernelSrc信息注入到生成的INI文件中(包括base、inner、exc三个目录) - cmake/ut.cmakeAddOpsTestCase函数中新增KERNEL_SRC_LIST查找逻辑,支持UT构建时定位自定义kernel源文件 - cmake/variables.cmake:新增KERNEL_SRC_LIST缓存变量 2. **新增脚本**: - scripts/util/insert_kernel_src.py:新脚本,负责读取算子信息INI文件,在对应算子section中插入或更新kernelSrc.value字段 3. **构建脚本适配**: - scripts/util/opdesc_parser.pyOpDesc类新增kernel_src字段和parse_kernel_src()方法,支持解析kernelSrc.value配置 - scripts/util/ascendc_impl_build.py:构建时使用kernel_src(缺省回退到op_file)定位实际kernel源文件路径 - scripts/util/parse_ini_to_json.py:在INI→JSON转换时跳过kernelSrc键(仅构建时使用) - scripts/kernel/binary_script/gen_ops_compile_ini.py:更新最小参数个数检查(5→6) 4. **示例验证**: - math/add/op_kernel/CMakeLists.txt:add算子使用KERNEL_SRC arch35/add.cpp指定自定义入口 - math/add/op_kernel/add_apt.cppmath/add/op_kernel/arch35/add.cpp:重命名并更新include路径为相对路径 ## 关联的Issue - #1832 ## 测试 - 使用add算子验证kernel_src机制在opbuild和UT构建中的正确性 - 验证insert_kernel_src.py脚本能正确向INI文件注入kernelSrc.value字段 ## 文档更新 - cmake/func.cmake中新增了KERNEL_SRC参数的注释说明 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!31062 小时前
Arch编码更新 Co-authored-by: liulinxiang<liulinxiang1@huawei.com> # message auto-generated for no-merge-commit merge: !992 merge master1 into master Arch编码更新 Created-by: liulinxiang Commit-by: liulinxiang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!9924 个月前
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4175 个月前
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4175 个月前
update license Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !417 merge master into master update license Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4175 个月前
feat: migrate math+conversion json ops to opdef pipeline Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !2130 merge mathdef into master feat: migrate math+conversion json ops to opdef pipeline Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: ## 描述 math仓aicpu算子信息库由json融合修改为op def文件,修改注册方式以及工程适配 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/1271 ## 测试 本次按 ENABLE_CUSTOM=ON 的 custom 路径验收,已验证 OpDef -> libaicpu_ops.so -> op_build --aicpu -> aicpu_kernel.ini -> parser_ini.py -> cust_aicpu_kernel.json 链路跑通,相关产物已生成并校验通过。AICPU before/after 与 I/O 对比已按新规则重评:input/output -> input0/output0 视为规范化差异;RightShift、SearchSorted、Sinh 在整改前 JSON 缺 I/O,但已对齐 CANN 基线 aicpu_kernel.ini,不判缺失;AddN: input0 -> dynamic_input0 和 AddFake -> Add 也已确认接受,不作为阻塞项。 AICore 回归已补做,before/after 经 parser_ini.py 转 json 后无差异。综合结论:本提交满足当前 OpDef 整改验收标准,可通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!21301 个月前