| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor: 拆分 tiling 公共头文件,消除 conversion 算子重复依赖 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !2951 merge feature/conversion-dedup into master refactor: 拆分 tiling 公共头文件,消除 conversion 算子重复依赖 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 将 tiling 基类和模板注册相关定义从 conversion 算子的公共头文件中拆分,消除各 conversion 算子的重复头文件依赖。 ### 改动原因 conversion 目录下 50+ 个算子各自直接引用 tiling_base.h、tiling_util.h 和 tiling_templates_registry.h: - tiling_base.h 包含完整 TilingBaseClass 实现(~240行),每个算子编译时都重复展开 - tiling_templates_registry.h 内混杂 math 算子的模板注册代码,不应被 conversion 算子依赖 ### 改动方法 1. 新建 common/inc/op_host/math_tiling_templates_registry.h:将 math 算子专用的模板注册宏和注册类从此文件中提供 2. 精简 tiling_base.h:改为仅转发引用 tiling_base_class.h 3. 批量更新 conversion 算子文件的 #include: - tiling_base.h → tiling_base_class.h - tiling_util.h → tiling_base_util.h - tiling_templates_registry.h → math_tiling_templates_registry.h 4. 批量更新命名空间引用: - Ops::Math::OpTiling::TilingBaseClass → Ops::Base::TilingBaseClass - Ops::Math::OpTiling::EnsureNotScalar → Ops::Base::EnsureNotScalar ## 关联的Issue - #1672 ## 测试 - 涉及的 conversion 算子二级冒烟测试已通过 ## 文档更新 无文档变更 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构,消除重复头文件依赖 See merge request: cann/ops-math!2951 | 3 个月前 | |
feat(fallback) Co-authored-by: esok11<yangsifa@huawei.com> # message auto-generated for no-merge-commit merge: !4624 merge f0813 into master feat(fallback) Created-by: esok11 Commit-by: esok11 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4624 | 25 天前 | |
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!417 | 8 个月前 | |
feat: 编译时SOC版本支持前缀模糊匹配,新增-Wno-error=deprecated-declarations选项 Co-authored-by: tianqiguang<tianqiguang@huawei.com> # message auto-generated for no-merge-commit merge: !4176 merge master into master feat: 编译时SOC版本支持前缀模糊匹配,新增-Wno-error=deprecated-declarations选项 Created-by: tianqiguang Commit-by: tianqiguang Merged-by: cann-robot Description: ## 描述 优化编译构建流程,支持 SOC 版本前缀模糊匹配并放宽废弃声明警告处理。 ### 改动内容 **build.sh — SOC 版本模糊匹配** - 精确匹配失败时,启用前缀模糊匹配(双向前缀比较) - 多个候选时选取最长前缀匹配项 - 仅在无任何前缀匹配时才报错退出 **cmake/dependencies.cmake — 编译选项** - 新增 -Wno-error=deprecated-declarations,将废弃声明警告降级为非错误 ## 测试 - 非精确 SOC 版本名编译验证 - 无匹配 SOC 版本时正确报错 ## 类型标签 - [x] 新特性 - [x] 构建/CI ## 关联的Issue - #2279 See merge request: cann/ops-math!4176 | 1 个月前 | |
chore: 升级 cann-cmake 至 master-049 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4595 merge master into master chore: 升级 cann-cmake 至 master-049 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4595 | 26 天前 | |
build: 将 op_graph 目录下所有 cpp 编入 libopsgraph_math.so Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4484 merge master into master build: 将 op_graph 目录下所有 cpp 编入 libopsgraph_math.so Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 将 op_graph 目录下所有 cpp 文件递归编入 libopsgraph_math.so。原 cmake 配置仅编译匹配 *_graph_*.cpp、*_fallback.cpp、fusion_pass/*_pass.cpp 的文件,新增 op_graph 文件需手动调整 glob 模式;改为 GLOB_RECURSE 递归收集 op_graph 目录下所有 .cpp,后续新增文件自动纳入编译。 具体改动(cmake/func.cmake 两处): - add_all_modules_sources:file(GLOB ...) 改为 file(GLOB_RECURSE OP_GRAPH_SRCS ${SOURCE_DIR}/op_graph/*.cpp) - add_graph_plugin_sources:file(GLOB ...) 改为 file(GLOB_RECURSE OP_GRAPH_SRCS ${SOURCE_DIR}/*.cpp) ## 关联的Issue - #2540: 将 op_graph 目录下所有 cpp 自动编入 libopsgraph_math.so ## 测试 - 本地编译 ops-math,验证 libopsgraph_math.so 正常生成,op_graph 目录下新增 cpp 文件的符号被纳入。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建系统优化 See merge request: cann/ops-math!4484 | 1 个月前 | |
fix:保留算子注册类型用于二进制生成 Co-authored-by: chensi79<chensi79@huawei.com> # message auto-generated for no-merge-commit merge: !4588 merge fix/issue-2235-preserve-op-type into master fix:保留算子注册类型用于二进制生成 Created-by: chensi79 Commit-by: chensi79 Merged-by: cann-robot Description: ## 描述 将从算子定义中解析出的真实算子类型传递给二进制参数生成器。 避免根据算子目录名重新推导算子类型。重新推导会丢失 ULQ 等缩写的大小写信息,导致未提供 binary.json 时无法匹配生成的算子信息。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2235 ## 测试 - 执行 python3 -m py_compile scripts/util/ascendc_bin_param_build.py,检查通过。 - 临时移除 math/kl_div_v2/op_host/config/ascend950/kl_div_v2_binary.json,执行: bash build.sh --soc=ascend950 --pkg --ops=kl_div_v2 -j16 - 参数 JSON、kernel 二进制文件、自动生成的 kl_div_v2_binary.json 以及最终 run 包均成功生成。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4588 | 27 天前 | |
工程能力升级,增加aicpu算子genop、二进制多并发编译能力 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !779 merge master into master 工程能力升级,增加aicpu算子genop、二进制多并发编译能力 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!779 | 7 个月前 | |
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!417 | 8 个月前 | |
feat: 支持 kernel_src 机制,允许算子通过 CMake 指定自定义 kernel 入口文件 Co-authored-by: songkai111<songkai111@noreply.gitcode.com> # message auto-generated for no-merge-commit merge: !3141 merge revert-mr-3138-1780580007491-auto into master feat: 支持 kernel_src 机制,允许算子通过 CMake 指定自定义 kernel 入口文件 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 支持 kernel_src 机制,允许算子通过 CMake 的 add_kernel_sources() 函数指定自定义 kernel 入口文件,而非默认使用算子名.cpp。同步自 ops-nn PR#3936 的 cmake/scripts 改动。 ### 改动内容 **CMake 构建系统(4个文件)**: - cmake/func.cmake:add_kernel_sources() 函数新增 KERNEL_SRC 单值参数,支持指定算子入口文件名(不含.cpp后缀),缺省使用算子名;将 KERNEL_SRC 信息收集到 KERNEL_SRC_LIST 缓存变量中 - cmake/opbuild.cmake:在 gen_aclnn_with_opdef() 构建目标中新增构建后调用 insert_kernel_src.py 脚本的步骤,分别处理 ASCEND_AUTOGEN_PATH、inner、exc 三个目录下的 ini 文件 - cmake/ut.cmake:AddOpsTestCase() 中根据 KERNEL_SRC_LIST 查找自定义 kernel 入口文件对应的源文件路径 - cmake/variables.cmake:新增 KERNEL_SRC_LIST 缓存变量,用于存储 kernel 源文件信息 **Python 脚本(4个文件)**: - scripts/util/insert_kernel_src.py:新增脚本,解析 KERNEL_SRC_LIST 并在 aic-{compute_unit}-ops-info.ini 文件中插入或更新 kernelSrc.value 字段 - scripts/util/opdesc_parser.py:OpDesc 类新增 kernel_src 属性和 parse_kernel_src() 方法,解析 ini 文件中的 kernelSrc.value 配置 - scripts/util/ascendc_impl_build.py:在 write_adapt() 和 write_impl() 中使用 kernel_src 替代 op_file 作为源文件名,未指定时回退到 op_file - scripts/util/parse_ini_to_json.py:解析 ini 时跳过 kernelSrc 键,避免写入 JSON - scripts/kernel/binary_script/gen_ops_compile_ini.py:参数校验从 5 个调整为 6 个,适配新增参数 **算子示例(2个文件)**: - math/add/op_kernel/CMakeLists.txt:为 add 算子的 ascend950 和 mc62 两个 COMPUTE_UNITS 配置 KERNEL_SRC 为 arch35/add.cpp - math/add/op_kernel/add_apt.cpp → math/add/op_kernel/arch35/add.cpp:将 add_apt.cpp 重命名为 arch35/add.cpp,更新文件内引用路径(arch35/add_dag.h → add_dag.h,arch35/add_struct.h → add_struct.h) ## 关联的Issue - #1859 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3141 | 3 个月前 | |
feat: 支持 deb/rpm 包构建 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4178 merge master into master feat: 支持 deb/rpm 包构建 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 为 ops-math 构建系统新增 deb/rpm 包构建能力,支持通过 --pkg-type 参数选择构建 run / rpm / deb / all 四种包类型。 ### 改动原因 当前 ops-math 仅支持生成 .run 自解压安装包,无法满足 Linux 发行版原生包管理的需求。 ### 改动方法 1. CMake 层面:新增 PACKAGE_TYPE 缓存变量(run/rpm/deb/all),升级 cann-cmake 依赖到 master-045 2. 构建脚本:build.sh 新增 --pkg-type=<TYPE> 参数,build_lib.sh 实现 rpm/deb 构建/清理/收集逻辑 3. CI 重新打包:ops_run_repackage.sh 支持 --pkg-type,在生成 .run 包后调用 ops_generate_rpm_deb.sh 4. 包管理钩子:新增 custom_postinst.sh 和 custom_prerm.sh 用于安装后/卸载前的 pip wheel 管理 5. 包配置更新:ops_math.xml 移除 EngineeringFiles,调整目录权限,添加版权头 ## 关联的Issue - #2460 ## 测试 - 本地验证 --pkg-type 参数校验逻辑 - CI 流水线已通过 ## 文档更新 - 更新 docs/zh/install/compile.md 中 cann-cmake 版本信息 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 See merge request: cann/ops-math!4178 | 1 个月前 | |
sync(static): 静态库编译优化——添加 target 存在性检查,新增多包合并脚本 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4355 merge master into master sync(static): 静态库编译优化——添加 target 存在性检查,新增多包合并脚本 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 静态库编译流程优化,添加 target 存在性检查避免构建失败,并新增多包合并 CI 脚本。 ### 改动原因 1. 静态库构建时部分 target(ophost_math_static / opapi_math_static / cann_math_static)并非在所有编译场景下都存在,无条件构建会导致失败 2. CI 中需要将多个算子仓独立编译的静态库包合并为一个统一交付包 ### 改动方法 1. cmake/static.cmake: 增加 if (TARGET ...) 守卫,仅在相关 target 存在时才执行静态库打包 2. scripts/build_lib.sh: 获取 all_targets 后用 grep -wq 检查 target 是否存在再执行构建,static_files_dir 不存在时优雅跳过 3. scripts/ci/merge_static_packages.sh: 新增 CI 脚本,多个包解压后合并 .o 和头文件,重新打包 ## 关联的Issue - #2461 ## 测试 - CI 流水线验证通过 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 See merge request: cann/ops-math!4355 | 1 个月前 | |
feat: 为ONNX/TF插件so增加-Bsymbolic链接选项并移除废弃头文件 Co-authored-by: songkai111<songkai16@huawei.com> # message auto-generated for no-merge-commit merge: !4218 merge master into master feat: 为ONNX/TF插件so增加-Bsymbolic链接选项并移除废弃头文件 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 1. 参考OPGRAPH_NAME已有的编译选项,为ONNX_PLUGIN_NAME和TF_PLUGIN_NAME对应的so增加-Wl,-Bsymbolic链接选项,确保符号解析行为一致。 2. 删除common/inc/op_api/infershape_reduce_util.h,该头文件已被opbase仓中版本替代,math仓内已无代码引用。 ## 关联的Issue - #2310 ## 测试 已验证 bash build.sh --pkg --jit -j32 编译通过,readelf确认三个so均带有SYMBOLIC标志。 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:构建优化及代码清理 See merge request: cann/ops-math!4218 | 1 个月前 | |
TORCH EXTENSION算子工程 Co-authored-by: zhangzijie<zhangzijie11@hisilicon.com> # message auto-generated for no-merge-commit merge: !277 merge master into master TORCH EXTENSION算子工程 Created-by: zhangzijie Commit-by: zhangzijie Merged-by: turing_project1 Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> TORCH EXTENSION算子工程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!277 | 9 个月前 | |
feat: 支持 kernel_src 机制,允许算子通过 CMake 指定自定义 kernel 入口文件 Co-authored-by: songkai111<songkai111@noreply.gitcode.com> # message auto-generated for no-merge-commit merge: !3141 merge revert-mr-3138-1780580007491-auto into master feat: 支持 kernel_src 机制,允许算子通过 CMake 指定自定义 kernel 入口文件 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 支持 kernel_src 机制,允许算子通过 CMake 的 add_kernel_sources() 函数指定自定义 kernel 入口文件,而非默认使用算子名.cpp。同步自 ops-nn PR#3936 的 cmake/scripts 改动。 ### 改动内容 **CMake 构建系统(4个文件)**: - cmake/func.cmake:add_kernel_sources() 函数新增 KERNEL_SRC 单值参数,支持指定算子入口文件名(不含.cpp后缀),缺省使用算子名;将 KERNEL_SRC 信息收集到 KERNEL_SRC_LIST 缓存变量中 - cmake/opbuild.cmake:在 gen_aclnn_with_opdef() 构建目标中新增构建后调用 insert_kernel_src.py 脚本的步骤,分别处理 ASCEND_AUTOGEN_PATH、inner、exc 三个目录下的 ini 文件 - cmake/ut.cmake:AddOpsTestCase() 中根据 KERNEL_SRC_LIST 查找自定义 kernel 入口文件对应的源文件路径 - cmake/variables.cmake:新增 KERNEL_SRC_LIST 缓存变量,用于存储 kernel 源文件信息 **Python 脚本(4个文件)**: - scripts/util/insert_kernel_src.py:新增脚本,解析 KERNEL_SRC_LIST 并在 aic-{compute_unit}-ops-info.ini 文件中插入或更新 kernelSrc.value 字段 - scripts/util/opdesc_parser.py:OpDesc 类新增 kernel_src 属性和 parse_kernel_src() 方法,解析 ini 文件中的 kernelSrc.value 配置 - scripts/util/ascendc_impl_build.py:在 write_adapt() 和 write_impl() 中使用 kernel_src 替代 op_file 作为源文件名,未指定时回退到 op_file - scripts/util/parse_ini_to_json.py:解析 ini 时跳过 kernelSrc 键,避免写入 JSON - scripts/kernel/binary_script/gen_ops_compile_ini.py:参数校验从 5 个调整为 6 个,适配新增参数 **算子示例(2个文件)**: - math/add/op_kernel/CMakeLists.txt:为 add 算子的 ascend950 和 mc62 两个 COMPUTE_UNITS 配置 KERNEL_SRC 为 arch35/add.cpp - math/add/op_kernel/add_apt.cpp → math/add/op_kernel/arch35/add.cpp:将 add_apt.cpp 重命名为 arch35/add.cpp,更新文件内引用路径(arch35/add_dag.h → add_dag.h,arch35/add_struct.h → add_struct.h) ## 关联的Issue - #1859 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3141 | 3 个月前 | |
feat: 支持 kernel_src 机制,允许算子通过 CMake 指定自定义 kernel 入口文件 Co-authored-by: songkai111<songkai111@noreply.gitcode.com> # message auto-generated for no-merge-commit merge: !3141 merge revert-mr-3138-1780580007491-auto into master feat: 支持 kernel_src 机制,允许算子通过 CMake 指定自定义 kernel 入口文件 Created-by: songkai111 Commit-by: songkai111 Merged-by: cann-robot Description: ## 描述 支持 kernel_src 机制,允许算子通过 CMake 的 add_kernel_sources() 函数指定自定义 kernel 入口文件,而非默认使用算子名.cpp。同步自 ops-nn PR#3936 的 cmake/scripts 改动。 ### 改动内容 **CMake 构建系统(4个文件)**: - cmake/func.cmake:add_kernel_sources() 函数新增 KERNEL_SRC 单值参数,支持指定算子入口文件名(不含.cpp后缀),缺省使用算子名;将 KERNEL_SRC 信息收集到 KERNEL_SRC_LIST 缓存变量中 - cmake/opbuild.cmake:在 gen_aclnn_with_opdef() 构建目标中新增构建后调用 insert_kernel_src.py 脚本的步骤,分别处理 ASCEND_AUTOGEN_PATH、inner、exc 三个目录下的 ini 文件 - cmake/ut.cmake:AddOpsTestCase() 中根据 KERNEL_SRC_LIST 查找自定义 kernel 入口文件对应的源文件路径 - cmake/variables.cmake:新增 KERNEL_SRC_LIST 缓存变量,用于存储 kernel 源文件信息 **Python 脚本(4个文件)**: - scripts/util/insert_kernel_src.py:新增脚本,解析 KERNEL_SRC_LIST 并在 aic-{compute_unit}-ops-info.ini 文件中插入或更新 kernelSrc.value 字段 - scripts/util/opdesc_parser.py:OpDesc 类新增 kernel_src 属性和 parse_kernel_src() 方法,解析 ini 文件中的 kernelSrc.value 配置 - scripts/util/ascendc_impl_build.py:在 write_adapt() 和 write_impl() 中使用 kernel_src 替代 op_file 作为源文件名,未指定时回退到 op_file - scripts/util/parse_ini_to_json.py:解析 ini 时跳过 kernelSrc 键,避免写入 JSON - scripts/kernel/binary_script/gen_ops_compile_ini.py:参数校验从 5 个调整为 6 个,适配新增参数 **算子示例(2个文件)**: - math/add/op_kernel/CMakeLists.txt:为 add 算子的 ascend950 和 mc62 两个 COMPUTE_UNITS 配置 KERNEL_SRC 为 arch35/add.cpp - math/add/op_kernel/add_apt.cpp → math/add/op_kernel/arch35/add.cpp:将 add_apt.cpp 重命名为 arch35/add.cpp,更新文件内引用路径(arch35/add_dag.h → add_dag.h,arch35/add_struct.h → add_struct.h) ## 关联的Issue - #1859 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!3141 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 25 天前 | ||
| 8 个月前 | ||
| 1 个月前 | ||
| 26 天前 | ||
| 1 个月前 | ||
| 27 天前 | ||
| 7 个月前 | ||
| 8 个月前 | ||
| 3 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 9 个月前 | ||
| 3 个月前 | ||
| 3 个月前 |