| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修复matmul ut 编译失败的问题 Co-authored-by: 18811725231<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !8409 merge master into master 修复matmul ut 编译失败的问题 Created-by: yang-di52 Commit-by: 18811725231 Merged-by: cann-robot Description: ## 描述 1. 删除冗余的测试代码 2. build.sh build ut 增加-k,即使ut失败,任可以继续构建,最后报错 ## 关联的Issue [#4734](https://gitcode.com/cann/ops-nn/issues/4734) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8409 | 1 个月前 | |
算子插件迁移 Co-authored-by: welt_lester<songlizhe1@h-partners.com> Co-authored-by: x00842564<xuyanke@huawei.com> # message auto-generated for no-merge-commit merge: !8474 merge master into master 算子插件迁移 Created-by: welt_lester Commit-by: x00842564;welt_lester Merged-by: cann-robot Description: ## 描述 落实issue #4279,将adaptive_avg_pool2d、adaptive_max_pool2d、ascend_anti_quant、ascend_dequant、ascend_quant、batch_mat_mul_v3、batch_norm、celu_v2、instance_norm_v3、ascend_quant、log_softmax_v2、mat_mul_v3、unique_with_counts_and_sorting这13个算子对应的插件从common\src\framework迁出到各自算子目录新建的\framework目录下。 ## 关联的Issue [Bug-Report|缺陷反馈]: 有对应算子的插件不应该放到公共目录 [#4279](https://gitcode.com/cann/ops-nn/issues/4279) ## 测试 compile、本地验证build通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构(算子插件归属迁移,落实 #4279 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8474 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
非连续slice支持2D slice 内轴\3d slice内轴 Co-authored-by: l00569907<linxu5@huawei.com> # message auto-generated for no-merge-commit merge: !8044 merge slice_2d_support into master 非连续slice支持2D slice 内轴\3d slice内轴 Created-by: LINxu233 Commit-by: l00569907 Merged-by: cann-robot Description: ## 描述 非连续slice支持2D slice 内轴\3d slice内轴 ## 关联的Issue https://gitcode.com/cann/ops-tensor/issues/146 ## 测试 测试非连续2d场景,网络shape全部通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8044 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
非连续slice支持2D slice 内轴\3d slice内轴 Co-authored-by: l00569907<linxu5@huawei.com> # message auto-generated for no-merge-commit merge: !8044 merge slice_2d_support into master 非连续slice支持2D slice 内轴\3d slice内轴 Created-by: LINxu233 Commit-by: l00569907 Merged-by: cann-robot Description: ## 描述 非连续slice支持2D slice 内轴\3d slice内轴 ## 关联的Issue https://gitcode.com/cann/ops-tensor/issues/146 ## 测试 测试非连续2d场景,网络shape全部通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8044 | 1 个月前 | |
修复fqmm x1/x2 空指针校验时机过晚的问题 Co-authored-by: rueenov11<zhuruyi@huawei.com> # message auto-generated for no-merge-commit merge: !8511 merge fix/fused-quant-matmul-early-null-check into master 修复fqmm x1/x2 空指针校验时机过晚的问题 Created-by: rueenov11 Commit-by: rueenov11 Merged-by: cann-robot Description: ## 描述 修复 aclnnFusedQuantMatmulGetWorkspaceSize(aclnnfqmm)与 aclnnFusedQuantMatmulWeightNzGetWorkspaceSize(aclnnfqmmwnz)接口中,x1/x2 空指针校验时机过晚的问题。 **问题原因:** - 两个接口在入口处会调用 IsTransposeLastTwoDims(x1/x2),该函数内部会直接访问 tensor->GetViewShape(),未对空指针做保护。 - 原有的 x1/x2 空指针校验位于 CheckInputExistence 中,需经过 PreMatmulCalcProcess 才会执行,导致传入 nullptr 时可能在空校验前崩溃,而非返回 ACLNN_ERR_PARAM_NULLPTR。 - WeightNz 接口原先仅对 x2 做了前置校验,且返回 ACLNN_ERR_PARAM_INVALID,x1 为空时仍会在 IsTransposeLastTwoDims(x1) 处崩溃,错误码也不一致。 **修改方法:** - 在两个 GetWorkspaceSize 入口、L2_DFX_PHASE_1 之后、IsTransposeLastTwoDims 及后续 tensor 成员访问之前,增加 OP_CHECK_NULL(x1/x2) 前置校验。 - WeightNz 接口删除原有的 x2 手写 null 判断,统一使用 OP_CHECK_NULL,返回 ACLNN_ERR_PARAM_NULLPTR,与 CheckInputExistence 及同系列接口(如 aclnnQuantMatmulWeightNzGetWorkspaceSize)保持一致。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4784 ## 测试 ## 文档更新 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8511 | 1 个月前 | |
feat: add aclnn_gemm API and refactor addmm interface Co-authored-by: szhexin<shangzhexin@huawei.com> # message auto-generated for no-merge-commit merge: !8039 merge gemm2addmm into master feat: add aclnn_gemm API and refactor addmm interface Created-by: szhexin Commit-by: szhexin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->此 PR 在 Ascend 950 (DAV_3510) 平台上,将 aclnnGemm 的运算路由到已有的 Addmm 计算图实现,通过将 Gemm 的转置属性表示为 tensor view(交换维度与步长)来复用 Addmm 图。同时将 Addmm 图的构建与执行逻辑抽取为独立的内部接口 ExecAddmmGraph,供 Gemm 侧直接调用。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->Issue [#4676](https://gitcode.com/cann/ops-nn/issues/4676) ## 测试 <!--描述进行了哪些测试来验证你的改动。-->本地测试通过,冒烟通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8039 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
【FEATURE】A2/A3 GEMMV3 base kernel支持需要broadcast的bias输入 Co-authored-by: HuangKun8682<huangkun61@huawei.com> # message auto-generated for no-merge-commit merge: !8446 merge personal_gemmV3_bias_support_broadcast_kernel_part into master 【FEATURE】A2/A3 GEMMV3 base kernel支持需要broadcast的bias输入 Created-by: HuangKun8682 Commit-by: HuangKun8682 Merged-by: cann-robot Description: ## 描述 本 PR 为 A2/A3 GemmV3 Base Kernel 增加 bias broadcast 支持,使 GemmV3 可以直接计算: out = alpha * (A @ B) + beta * C 其中 C 支持向矩阵乘输出 [B, M, N] 广播。 主要修改如下: 1. 扩展 GemmV3 InferShape: - 支持 bias rank 小于或等于输出 rank。 - 按右对齐规则校验 bias 与输出是否满足 broadcast。 - 支持 Addmm 和 Baddbmm 的 N、M、scalar 及 per-batch broadcast。 - 对不满足 broadcast 规则的 shape 返回失败。 2. 扩展 GemmV3 Tiling: - 将 bias shape 归一化到逻辑 [B, M, N]。 - 新增以下 broadcast 类型: - BIAS_BCAST_NONE - BIAS_BCAST_N - BIAS_BCAST_M - BIAS_BCAST_SCALAR - 计算并下发 cBatchStride、cMStride 和 cNStride,stride 为 0 表示对应方向广播。 - 校验 broadcast bias 所需 UB 空间,避免 UB 越界。 - Broadcast 能力仅在 A2/A3 Base Tiling 上启用,Arch35 对应场景保持失败。 3. 扩展 GemmV3 TilingData: - 增加 biasBroadcastType。 - 增加 C 在 Batch/M/N 方向的逻辑 stride。 - 保持 TilingData 8 字节对齐。 4. 优化 Kernel 中的 bias broadcast 计算: - N broadcast:连续搬入 N 个 bias 元素,完成 Cast 和 beta 缩放后,直接沿 M 方向重复相加。 - M broadcast:连续搬入当前 mRows 个标量,通过 Brcb 展开后沿 N 方向相加。 - Scalar broadcast:只搬入一个标量,Brcb 后在当前 tile 内复用。 - [B,1,1] 按 per-batch scalar 处理。 - 按 VEC_ITER_REPEAT 对行数进行分段,避免 repeat 参数截断。 - 非 broadcast 场景继续使用原有连续 C 搬运及 Axpy 计算流程。 5. 重新规划 ubC_ 区域: - ubBiasRaw_:保存原始 bias。 - ubBiasFp32_:保存 Cast 及 beta 缩放后的 bias。 - ubBiasBrcb_:保存 Brcb 展开的 bias。 - 各 buffer 地址根据 Tiling 的 m0/n0 结果计算并按 32 字节对齐。 6. 将 C 的读取地址与 Y 的写回地址分离: - C 地址根据 broadcast stride 计算。 - Y 始终按照连续 [B, M, N] 输出布局写回。 ## 关联的Issue ## 测试 1. 新增并完成 GemmV3 InferShape UT: - Addmm N broadcast。 - Addmm M broadcast。 - Baddbmm per-batch scalar broadcast。 - 非法 broadcast shape。 2. 新增并完成 GemmV3 Tiling UT: - 无 broadcast。 - N/M/scalar broadcast。 - Per-batch N/M/scalar broadcast。 - Batch=1 的三维 scalar broadcast。 - Arch35 broadcast tiling 失败场景。 - 校验 biasBroadcastType 和 C 的三个逻辑 stride。 3. 覆盖 FP16、BF16、16in32out、ND×ND、ND×NZ,以及 N/M/scalar/[B,1,1] broadcast。 测试结果: 单条批量执行泛化精度用例通过率:1998/2000,失败用例批跑100次复检后精度通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8446 | 1 个月前 | |
算子插件迁移 Co-authored-by: welt_lester<songlizhe1@h-partners.com> Co-authored-by: x00842564<xuyanke@huawei.com> # message auto-generated for no-merge-commit merge: !8474 merge master into master 算子插件迁移 Created-by: welt_lester Commit-by: x00842564;welt_lester Merged-by: cann-robot Description: ## 描述 落实issue #4279,将adaptive_avg_pool2d、adaptive_max_pool2d、ascend_anti_quant、ascend_dequant、ascend_quant、batch_mat_mul_v3、batch_norm、celu_v2、instance_norm_v3、ascend_quant、log_softmax_v2、mat_mul_v3、unique_with_counts_and_sorting这13个算子对应的插件从common\src\framework迁出到各自算子目录新建的\framework目录下。 ## 关联的Issue [Bug-Report|缺陷反馈]: 有对应算子的插件不应该放到公共目录 [#4279](https://gitcode.com/cann/ops-nn/issues/4279) ## 测试 compile、本地验证build通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码重构(算子插件归属迁移,落实 #4279 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8474 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
非连续slice支持2D slice 内轴\3d slice内轴 Co-authored-by: l00569907<linxu5@huawei.com> # message auto-generated for no-merge-commit merge: !8044 merge slice_2d_support into master 非连续slice支持2D slice 内轴\3d slice内轴 Created-by: LINxu233 Commit-by: l00569907 Merged-by: cann-robot Description: ## 描述 非连续slice支持2D slice 内轴\3d slice内轴 ## 关联的Issue https://gitcode.com/cann/ops-tensor/issues/146 ## 测试 测试非连续2d场景,网络shape全部通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8044 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
修复matmul ut 编译失败的问题 Co-authored-by: 18811725231<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !8409 merge master into master 修复matmul ut 编译失败的问题 Created-by: yang-di52 Commit-by: 18811725231 Merged-by: cann-robot Description: ## 描述 1. 删除冗余的测试代码 2. build.sh build ut 增加-k,即使ut失败,任可以继续构建,最后报错 ## 关联的Issue [#4734](https://gitcode.com/cann/ops-nn/issues/4734) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8409 | 1 个月前 | |
refactor: EXEC_OPAPI_CMD 迁移为 CANN_OPS_OPB_SYN_EXEC_ACLNN 并升级 opbase Co-authored-by: yuyuanfeng<yuyuanfeng1@huawei.com> # message auto-generated for no-merge-commit merge: !8648 merge master into master refactor: EXEC_OPAPI_CMD 迁移为 CANN_OPS_OPB_SYN_EXEC_ACLNN 并升级 opbase Created-by: yuyuanfeng Commit-by: yuyuanfeng Merged-by: cann-robot Description: ## 描述 将 6 个 fallback 算子从旧宏 EXEC_OPAPI_CMD 迁移到 opbase 新宏 CANN_OPS_OPB_SYN_EXEC_ACLNN(显式传入 ctx 首参),并升级 opbase 依赖以引入新宏。 改动原因: - opbase 已将 EXEC_OPAPI_CMD 参数化并重命名为 CANN_OPS_OPB_SYN_EXEC_ACLNN(旧宏仅保留一行转发兼容),跟随 opbase 接口演进,显式传入 ctx。 改动方法: - 6 个算子的 op_graph fallback 实现统一改为 CANN_OPS_OPB_SYN_EXEC_ACLNN(ctx, ...):foreach_add_list、scatter_list、group_norm_silu、trans_quant_param_v2、quant_batch_matmul_inplace_add、quant_batch_matmul_v3 - cmake/third_party/opbase.cmake 中 OPBASE_TAG_ID 由 bd20a12e 升级至 40cc7bed ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4782 ## 测试 本地编译 6 个算子验证(ascend910b) ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构/接口迁移 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8648 | 1 个月前 | |
fix: 修正QuantBatchMatmulV3 QuantMode校验错误码 Co-authored-by: guiruoyu<guiruoyu@h-partners.com> # message auto-generated for no-merge-commit merge: !8463 merge codex/fix-qbmm-v3-quantmode-error into master fix: 修正QuantBatchMatmulV3 QuantMode校验错误码 Created-by: guiruoyu Commit-by: guiruoyu Merged-by: cann-robot Description: ## 描述 完善 aclnnQuantMatmulWeightNz 在 DAV3510 上的 INT8 Scale shape 参数校验和错误上报格式。 DAV3510 WeightNz INT8 场景仅支持 x1Scale 为 null 或 1D、x2Scale 为 1D。原实现没有在 WeightNz ACLNN 入口拦截多维 Scale,非法输入会继续进入后续 tiling 并以内部错误形式失败。本次仅在 CheckWeightNzParamsDAV3510 中提前校验,并使用 ACLNN shape-dimension 预定义错误格式上报,接口仍返回 161002。 ## 修改内容 - 校验范围限定为 NpuArch::DAV_3510;其他架构在进入新增校验前直接返回 ACLNN_SUCCESS。 - 仅当 x1、x2 均为 INT8 时校验: - x1Scale 必须为 null 或 1D; - x2Scale 必须为 1D。 - 非法 rank 在 ACLNN 参数校验阶段通过 OP_LOGE_FOR_INVALID_SHAPEDIMS_WITH_REASON 上报;114 环境实测错误分类为 Invalid_Argument_Tensor_Shape_Dim(EZ0013),接口返回值为 ACLNN_ERR_PARAM_INVALID(161002),workspaceSize 为 0。 - 保留原有一维 Scale 长度校验:x1Scale 长度不匹配继续上报 EZ0009,x2Scale 长度不匹配继续上报 EZ0026。 - 新增 ACLNN UT,覆盖 DAV3510 非法 rank/长度以及非 DAV3510 的旧通路兼容性。 - 本 PR 不包含 QuantBatchMatmulV3 tilingbase 及 tiling UT 改动。 ## 兼容性与新增拦截范围确认 **结论:新增 ACLNN 校验没有阻断任何旧完整流程(ACLNN + tiling)能够成功的场景。** | 输入范围 | 新增校验是否执行 | 旧完整流程行为 | 结论 | | --- | --- | --- | --- | | 非 DAV3510 | 否。CheckWeightNzParamsDAV3510 在架构判断后立即返回 | 完全沿用原 ACLNN/tiling 流程 | 零新增拦截 | | DAV3510,x1Scale 为 null、x2Scale rank != 1 | 是 | 旧 SetQuantMode/QuantBatchMatmulV3Checker::CheckDimValue 路径无法通过;当 pertokenScale 不存在时,scale 必须为 1D | 仅将原有失败前移到 ACLNN | | DAV3510,x1Scale 非 null 且 rank != 1 | 是 | INT8 不能把多维 x1Scale 推导为合法 pertoken 模式,旧 SetX1QuantMode 已失败;FLOAT8_E8M0 的 MX 分支也会被 INT8 Scale dtype 规则拒绝 | 仅将原有失败前移到 ACLNN | | DAV3510,x1Scale rank = 1、x2Scale rank != 1 | 是 | 旧 Arch35 CheckShapeInRangeForOptionalInputs 要求非 G-B/B-B/MX 模式下 pertokenScale、scale 均为 1D;INT8 不会合法进入上述多维模式 | 仅将原有失败前移到 ACLNN | 补充说明:本次 diff 中除 DAV3510 专用 rank 校验外,通用路径只有 bool isPerblockGroup 改为 const bool isPerblockGroup,不改变值和控制流。 ### 证据 - 静态范围证明:新增条件位于 CheckWeightNzParamsDAV3510 的 DAV3510 early-return 之后,只由 aclnnQuantMatmulWeightNzGetWorkspaceSize 调用;普通 aclnnQuantMatmulV4 不受影响。 - 旧 tiling 拒绝链路: - QuantBatchMatmulV3TilingBase::SetX1QuantMode:INT8 x1Scale 仅能按 1D 的 M 维识别为 pertoken; - QuantBatchMatmulV3Checker::CheckDimValue:x1Scale 不存在时 x2Scale 必须为 1D; - QuantBatchMatmulV3Checker::CheckShapeInRangeForOptionalInputs:非 perblock/MX 时 x1Scale、x2Scale 必须均为 1D; - QuantBatchMatmulV3Checker::CheckScaleDtypeWithPertoken:INT8 + pertokenScale 不能借 FLOAT8_E8M0 Scale 进入 MX 例外。 - 动态兼容性 UT QuantBatchMatmulWeightNzCompatibility.KeepsLegacyTwoDimensionalX2ScaleOutsideDAV3510 在 DAV2201 实测: - x1Scale [128]、x2Scale [1, 256]:ACLNN_SUCCESS; - x1Scale null、x2Scale [1, 256]:ACLNN_SUCCESS。 - DAV3510 错误 UT QuantBatchMatmulWeightNzError.RejectsInt8UnsupportedScaleShapesBeforeTiling 覆盖三种非法 rank 组合和两种 1D 长度错误,均返回 161002 且 workspaceSize 为 0。 ## 关联的Issue 不涉及。 ## 测试 - 2026-08-17 在 114 服务器 Docker guiruoyu2、CANN 9.1.0 中基于 PR 当前提交 f5bb23264 fresh clone 复测: - bash build.sh --ophost -j16:libophost_nn.so 编译链接成功; - bash build.sh -u --opapi --ops=quant_batch_matmul_v3 -j16:215/215 条 op_api UT 通过; - 两条关键 UT 均在上述 215 条中执行并通过; - 5 个错误场景分别调用 aclnnQuantMatmulWeightNzGetWorkspaceSize,均返回 161002,workspaceSize 均为 0。 - clang-format 18.1.8 dry-run:通过。 - GitCode push hooks:PASSED。 ### ACLNN 错误码与错误文本 表中为 2026-08-17 在 114 服务器对 PR 当前提交 f5bb23264 fresh clone 复测得到的结果。测试在调用前完成 aclInit 和 aclrtSetDevice(0),下列内容为不含设备初始化错误的 aclGetRecentErrMsg() 核心文本。 | 场景 | ACLNN 返回值 | workspaceSize | aclGetRecentErrMsg() 核心文本 | | --- | --- | --- | --- | | x1Scale [128, 1],x2Scale [1, 2] | 161002 | 0 | Invalid_Argument_Tensor_Shape_Dim(EZ0013): Parameters x1Scale, x2Scale of aclnnQuantMatmulWeightNzGetWorkspaceSize have incorrect shape dims 2D, 2D. Reason: when x1 and x2 dtypes are INT8, x1Scale must be null or 1D and x2Scale must be 1D. | | x1Scale [128, 1],x2Scale [256] | 161002 | 0 | Invalid_Argument_Tensor_Shape_Dim(EZ0013): Parameters x1Scale, x2Scale of aclnnQuantMatmulWeightNzGetWorkspaceSize have incorrect shape dims 2D, 1D. Reason: when x1 and x2 dtypes are INT8, x1Scale must be null or 1D and x2Scale must be 1D. | | x1Scale [128],x2Scale [1, 2] | 161002 | 0 | Invalid_Argument_Tensor_Shape_Dim(EZ0013): Parameters x1Scale, x2Scale of aclnnQuantMatmulWeightNzGetWorkspaceSize have incorrect shape dims 1D, 2D. Reason: when x1 and x2 dtypes are INT8, x1Scale must be null or 1D and x2Scale must be 1D. | | x1Scale [7],x2Scale [256] | 161002 | 0 | Invalid_Argument_Tensor_Shape(EZ0009): Parameter x1Scale(pertokenScale) of aclnnQuantMatmulWeightNzGetWorkspaceSize has incorrect shape [7]. Reason: when x1Scale(pertokenScale) and x2Scale(scale) are 1D, the shape of x1Scale(pertokenScale) must be [128]. | | x1Scale [128],x2Scale [7] | 161002 | 0 | Invalid_Argument(EZ0026): Parameter x2Scale(scale) of aclnnQuantMatmulWeightNzGetWorkspaceSize has incorrect value 7. Reason: when the quantization mode of x2 is pertensor or perchannel, the last dimension of x2Scale(scale) must be 256 or 1. | ## 文档更新 不涉及。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!8463 | 1 个月前 | |
修复quant_batch_matmul_v4 MXA8W4数据流的bias类型定义错误的问题 Co-authored-by: sunduiyang<sunduiyang@huawei.com> # message auto-generated for no-merge-commit merge: !8491 merge fixbug/qbmmv4_mxa8w4_bias_fp16_error into master 修复quant_batch_matmul_v4 MXA8W4数据流的bias类型定义错误的问题 Created-by: sunduiyang Commit-by: sunduiyang Merged-by: cann-robot Description: ## 描述 QuantBatchMatmulV4 的 A8W4 和 MXA8W4 数据流共用 JSON 配置,且 required 参数完全一致,导致 MXA8W4 预编译 kernel 的 DTYPE_BIAS 沿用了 A8W4 的配置。FP16 bias 场景下,bias 类型与输出类型不一致并产生精度错误。 本修改将 MXA8W4 kernel 的 BiasType 定义为 DTYPE_Y,使 bias 类型符合与输出 y 类型一致的约束。 ## 关联的Issue 关联 Issue [#4732](https://gitcode.com/cann/ops-nn/issues/4732) ## 测试 - 验证 MXA8W4 FP16 bias/FP16 输出场景,精度校验通过。 - 二级冒烟通过。 ## 文档更新 不涉及文档更新。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!8491 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
fix: torch ops cpp sources Co-authored-by: cong-jiyu<congjiyu@h-partners.com> # message auto-generated for no-merge-commit merge: !8489 merge torch into master fix: torch ops cpp sources Created-by: cong-jiyu Commit-by: cong-jiyu Merged-by: cann-robot Description: ## 描述 本次PR主要修复了 Torch 算子 C++ 源码的路径管理问题,将原本按算子类别(如 activation、matmul、norm、quant)分目录存放的 .cpp 文件统一扁平化到 csrc/ 根目录。同时简化了 OpBuilder 基类,移除 category 参数及相关路径拼接逻辑,并增强了 JIT 编译阶段的错误诊断能力和构建过程中的文件清理机制。 主要改动 OpBuilder 基类重构:移除 __init__ 中的 category 参数,resolve_source 方法简化为直接返回 csrc/{cpp_filename},不再拼接子目录;各子类 sources() 方法统一改用 self.resolve_source("xxx.cpp") 替代原有的硬编码子目录路径。 load 方法增强:新增 ninja 可用性检查,若未安装则抛出明确的 RuntimeError;JIT 编译失败时提供包含常见原因(CANN toolkit 未 source、缺少编译器、缺少 ninja)的诊断信息。 setup.py 打包逻辑适配:_non_python_files 和 _collect_op 中 .cpp 文件的收集路径从 csrc/<category>/ 调整为 csrc/;BuildPyWithOps 新增对 csrc 子目录的处理,构建时清理不属于当前选中算子的残留 .cpp 文件。 install_requires 依赖调整:移除 torch>=2.6.0 和 torch_npu,新增 ninja 作为安装依赖。 ## 关联的Issue [#4690](https://gitcode.com/cann/ops-nn/issues/4690) ## 测试 本地编译构建,查看build目录下的目录层级 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8489 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
修复ophost ut 编译失败和执行失败的问题 Co-authored-by: 18811725231<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !8679 merge ziliao into master 修复ophost ut 编译失败和执行失败的问题 Created-by: yang-di52 Commit-by: 18811725231 Merged-by: cann-robot Description: ## 描述 本 PR 主要修复 op_host 相关单元测试的编译失败与执行失败问题。改动集中在三个测试文件:test_extend_conv_transpose_tiling.cpp 补齐了新增属性和平台信息,test_index_infershape.cpp 和 test_sparse_tensor_dense_mat_mul_infershape.cpp 则改用统一的测试辅助接口与上下文参数结构重写用例,使测试适配当前接口定义并能正常编译运行。 ## 关联的Issue [#4794](https://gitcode.com/cann/ops-nn/issues/4794) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8679 | 1 个月前 | |
修改aclnnTransposeBatchMatMulWeightNz接口资料 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !8755 merge tqbmm_nz_docs into master 修改aclnnTransposeBatchMatMulWeightNz接口资料 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 删除aclnnTransposeBatchMatMulWeightNz接口资料资料中对第二,第三轴16对齐的拦截资料,因为这个表示的应该是NZ格式的后两维会存在一个16。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/4830 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 无 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul/transpose_batch_mat_mul/docs/aclnnTransposeBatchMatMulWeightNZ.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8755 | 1 个月前 | |
support add_all_module_source支持一个算子 只配置一个CMakeList.txt Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !8380 merge master into master support add_all_module_source支持一个算子 只配置一个CMakeList.txt Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: 此 PR 引入了新的 CMake 宏 add_all_modules_sources 作为算子顶层 CMakeLists.txt 的统一编译入口,旨在简化算子构建配置。同时,底层函数 add_kernel_sources 和 AddOpTestCase 也进行了适配,支持从算子顶层目录调用,替代原先必须在特定子目录(如 op_kernel、tests/ut/op_kernel)内调用的限制。整体改动通过自适应目录位置、收编 UT 源收集逻辑,提升构建系统的灵活性和可维护性。 主要改动 新增 add_all_modules_sources 宏:在 cmake/func.cmake 中新增统一入口宏,支持 OPTYPE、ACLNNTYPE、DEPENDENCIES、COMPUTE_UNIT、TILING_DIR、DISABLE_IN_OPP 等参数;自动适配 op_api 目录在算子根或 op_host 子目录下的两种布局,内部复用 add_modules_sources 并触发 add_all_ut_sources 收集 UT 源。 新增 add_all_ut_sources 宏:在 cmake/func.cmake 中新增 UT 源收集宏,根据 UT_TEST_ALL、OP_API_UT、OP_HOST_UT、OP_GRAPH_UT 等条件分别收集 tests/ut/op_api、tests/ut/op_host、tests/ut/op_graph 下的测试源文件,并兼容历史布局 tests/ut/op_host/op_api。 add_kernel_sources 适配新调用位置:当 CMAKE_CURRENT_SOURCE_DIR 不以 /op_kernel 结尾时,自动将 SOURCE_DIR 拼接 /op_kernel 子目录,使该函数支持从算子顶层目录被调用。 AddOpTestCase 支持自定义 UT 源目录:新增 UT_SRC_DIR 参数用于指定 UT 源文件所在目录;_tiling_def.h 的 include 路径和 *.cpp 测试用例文件的 file(GLOB) 扫描路径均改用 _ut_src_dir 变量,替代原先硬编码的 CMAKE_CURRENT_SOURCE_DIR。 AddOpTestCase 优化算子目录推导:优先使用 add_op_subdirectory 设置的全局变量 OP_DIR 确定算子根目录,当该变量未定义或为空时才回退到原有的三级父目录推导逻辑(tests/ut/op_kernel 内部调用方式),增强了从算子顶层调用的兼容性。 See merge request: cann/ops-nn!8380 | 1 个月前 | |
wqbmm在对x1做空指针校验前,通过x1调用函数,如x1是空指针,会产生coredump Co-authored-by: wmg1<wangmingguang2@h-partners.com> # message auto-generated for no-merge-commit merge: !8239 merge wqbmm_x1_null into master wqbmm在对x1做空指针校验前,通过x1调用函数,如x1是空指针,会产生coredump Created-by: wmg1 Commit-by: wmg1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复原因:wqbmm在对x1做空指针校验前,通过x1调用函数,如x1是空指针,会产生coredump 采用方法:将对x1的空指针校验提前。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->https://gitcode.com/cann/ops-nn/issues/4586 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 构造x1为nullptr的example,被拦截。  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!8239 | 1 个月前 | |
qbmmv4和wqbmmv2调用示例更新 Co-authored-by: zhangquanxin<zhangquanxin7@h-partners.com> # message auto-generated for no-merge-commit merge: !8627 merge master into master qbmmv4和wqbmmv2调用示例更新 Created-by: zhangquanxin Commit-by: zhangquanxin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 一、替换手写精度转换函数 将手写的 FloatToFp4E2m1 函数替换为 CANN 官方 op::Float4E2M1 API。原手写实现仅覆盖 8 个区间,精度不完整且未经验证,官方 API 由 libnnopbase.so 提供实现,转换结果准确可靠。 二、修复严格别名未定义行为 Bf16ToFloat 函数中通过 reinterpret_cast<float*> 将 uint32_t 指针强转为 float 指针再解引用,违反 C++ 严格别名规则,属于未定义行为。统一改为 std::memcpy 做类型双亲,并补充 #include \<cstring>。 三、修复资源泄露 修复了 aclCreateIntArray 句柄创建后未释放的问题,共 4 处,分别在调用完对应的 aclnnCalculateMatmulWeightSizeV2 和 aclnnPermute 后紧跟添加 aclDestroyIntArray。同时将 V3 示例中 7 个 tensor、7 个 deviceAddr 和 4 个 workspace 从手动释放改为 unique_ptr RAII 管理,解决了 workspace 复用同一变量导致前 3 次分配泄露的问题,删除了末尾 19 行手动释放代码。 四、添加资源申请后判空 所有 aclCreateTensor 调用后均添加了 CHECK_RET 判空检查,共 21 处,覆盖 5 个文件中的全部示例代码。如果 aclCreateTensor 返回 nullptr,后续使用会导致空指针解引用。 五、重构 f8mxf4 数据流并修复 scale shape 逻辑错误 将 x2 的数据流从 fp32 ND → NpuFormatCast 转 fp32 NZ → aclnnCast 转 fp4 NZ 三步简化为 host 侧直接打包 fp4 → NpuFormatCast 一步转 NZ 两步,删除了整个 aclnnCast 调用链。修复了 scale shape 的整除错误:原公式 k/groupSize/2 在 k 非 groupSize×2 整数倍时结果为 0 导致内存不足,改为向上取整公式后 k=80、88 等场景均能正常运行。同时修正了 outHostData 大小从 mk 改为 mn,补充了缺失的 #include \<memory>(pre-existing 编译问题)。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> issue https://gitcode.com/cann/ops-nn/issues/4774 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul/quant_batch_matmul_v3/docs/aclnnQuantMatmulWeightNz.md matmul/quant_batch_matmul_v3/examples/arch35/test_aclnn_quant_matmul_weight_nz_a8w4.cpp matmul/quant_batch_matmul_v3/examples/arch35/test_aclnn_quant_matmul_weight_nz_f8mxf4.cpp matmul/weight_quant_batch_matmul_v2/docs/aclnnWeightQuantBatchMatmulNz.md matmul/weight_quant_batch_matmul_v2/docs/aclnnWeightQuantBatchMatmulV3.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8627 | 1 个月前 | |
Format update: Adjusted the license description format in all relevant files. Co-authored-by: jiangqi<jiangqi47@h-partners.com> # message auto-generated for no-merge-commit merge: !403 merge license7 into master Format update: Adjusted the license description format in all relevant files. Created-by: jiangqi2025 Commit-by: jiangqi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!403 | 9 个月前 | |
修改torch_extension结构 Co-authored-by: liuweihuui<liuweihui3@h-partners.com> # message auto-generated for no-merge-commit merge: !8249 merge fix_torch into master 修改torch_extension结构 Created-by: liuweihui3 Commit-by: liuweihuui Merged-by: cann-robot Description: ## 描述 迁移quant_matmul_activation_quant的torch_extension到算子目录 ## 关联的Issue 关联Issue [#4561](https://gitcode.com/cann/ops-nn/issues/4561) ## 测试  ## 文档更新 更新算子torch_extension相关文档中示例脚本代码 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:规范nn仓torch要求,迁移torch相关代码到算子目录下。 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!8249 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 9 个月前 | ||
| 1 个月前 |