| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
docs: 修正Sparse4to2QuantMatmul的index维度说明 Co-authored-by: smdbha<panzhijie2@huawei.com> # message auto-generated for no-merge-commit merge: !11637 merge backup into master docs: 修正Sparse4to2QuantMatmul的index维度说明 Created-by: smdbha Commit-by: smdbha Merged-by: cann-robot Description: ## 描述 aclnnSparse4to2QuantMatmulWeightNz 文档将 index 的 ViewShape 误写为 4 维,与接口的 2 维校验和调用示例不一致,可能引导调用者构造无法通过参数校验的输入。 将 ViewShape 说明修正为 2 维 (n, ceil(k / 8)),维度栏同步改为 2;明确转换接口返回的 StorageShape 为 4 维 (ceil(k_half / 32), ceil(n / 16), 16, 8)。 ## 关联的Issue 关联 Issue [#6444](https://gitcode.com/cann/ops-nn/issues/6444) ## 测试 - 已核对接口维度校验、转换接口的 StorageShape 生成逻辑及调用示例。 - git diff --check upstream/master...HEAD 通过。 - 提交时 pre-commit 检查通过,包含 codespell 和 OAT。 - 仅修改文档,未运行 UT 或 NPU 实机测试。 ## 文档更新 更新 matmul/sparse4to2quant_matmul/docs/aclnnSparse4to2QuantMatmulWeightNz.md 的 index 参数说明及维度栏。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11637 | 19 天前 | |
format cpp Co-authored-by: yang-di52<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !6784 merge issue_fix into master format cpp Created-by: yang-di52 Commit-by: yang-di52 Merged-by: cann-robot Description: ## 描述 批量刷新cpp代码格式 ## 关联的Issue [#3791](https://gitcode.com/cann/ops-nn/issues/3791) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码格式化 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6784 | 3 个月前 | |
Fix misspelled executor parameter in aclnn API doxygen comment. Co-authored-by: void_ptr<baochaojun@huawei.com> # message auto-generated for no-merge-commit merge: !9690 merge pr/fix_issue_5350 into master Fix misspelled executor parameter in aclnn API doxygen comment. Created-by: void_ptr Commit-by: void_ptr Merged-by: cann-robot Description: ## 描述 修复多个两段式 aclnn 接口头文件注释参数名拼写错误 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5350 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9690 | 1 个月前 | |
fix:重构common.h、math_util.h、tiling_type.h、common_func.h Co-authored-by: chenqianyu<chenqianyu1@h-partners.com> # message auto-generated for no-merge-commit merge: !9071 merge cie1 into master fix:重构common.h、math_util.h、tiling_type.h、common_func.h Created-by: FishPotatoChen Commit-by: chenqianyu Merged-by: cann-robot Description: ## 描述 本PR对 matmul 目录下多个算子中的公共头文件进行重命名,通过增加模块前缀( _nn、_mm、matmul_v2_compress_dequant_、transpose_batch_mat_mul_、mmcd_、tbmm_)消除同名文件歧义,提升代码可维护性。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5321 ## 测试 - 所有提交均通过 pre-commit hooks(trailing whitespace、end-of-file、clang-format、codespell) - 所有提交均通过 OAT 合规检查(License Header 校验) - 通过 grep 验证旧文件名无残留引用 ## 文档更新 无 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:重构 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!9071 | 1 个月前 | |
消除算子头文件重名: matmul_v2_compress_dequant与sparse4to2quant_matmul Co-authored-by: chaotang233<tangchao47@hisilicon.com> # message auto-generated for no-merge-commit merge: !9555 merge br into master 消除算子头文件重名: matmul_v2_compress_dequant与sparse4to2quant_matmul Created-by: ztj0209 Commit-by: chaotang233 Merged-by: cann-robot Description: ## 描述 消除算子目录下的头文件重名歧义(单 commit aebfd40f3),共两处: ### 1. matmul_v2_compress_dequant op_kernel/kernels/utils/kernel/ 下的 9 个头文件(common.h、common_func.h、hardware.h、iterator.h、layout.h、mem.h、mma.h、simd.h、utils.h)与 transpose_batch_mat_mul 等其他算子目录下的同名头文件重名。统一加上算子名前缀 matmul_v2_compress_dequant_ 重命名,并同步更新算子内部 include(iterator.h 4 处、mem.h/mma.h/simd.h 各 1 处)及 pp_matmul_i8_nz_compress.h 中 6 处路径引用。 ### 2. sparse4to2quant_matmul op_kernel/sparse4to2quant_matmul.h 与 op_api/sparse4to2quant_matmul.h 文件名相同。将 op_kernel 侧重命名为 sparse4to2quant_matmul_kernel.h(与同目录 _block.h/_base.h/_update.h 后缀风格一致),include guard 宏同步改为 SPARSE4TO2_QUANT_MATMUL_KERNEL_H(与文件名对齐),并更新 kernel 侧引用方 sparse4to2quant_matmul.cpp 的 include;op_api 侧头文件及引用保持不变。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/5408 ## 测试 - 全仓检索确认无其他算子反向引用上述头文件,CMakeLists/构建脚本无按文件名引用 - 910b 全量构建(ophost_nn + kernel binary)SUCCESS 0 error,ascendc_bin_ascend910b_sparse4to2quant_matmul 正常产出 - matmul_v2_compress_dequant 的 binary 配置仅 ascend310p,用 310p 配置 asc_opc 单独编译成功(产出 MatmulV2CompressDequant_Int8.o),include 链验证通过 - grep 验证无残留旧引用;重命名文件除 include 行外内容零改动 ## 类型标签 - [x] 其他,请描述:头文件重命名,消除跨算子/算子内头文件重名 ## AI/Agent生成声明 - AI辅助编写 See merge request: cann/ops-nn!9555 | 1 个月前 | |
sparse4to2quant_matmul算子aclnn代码迁移 Co-authored-by: 18811725231<yangdi52@huawei.com> # message auto-generated for no-merge-commit merge: !9138 merge 0825 into master sparse4to2quant_matmul算子aclnn代码迁移 Created-by: yang-di52 Commit-by: 18811725231 Merged-by: cann-robot Description: ## 描述 本次修改的核心内容是 sparse4to2quant_matmul 算子 aclnn 代码的迁移:将 matmul/sparse4to2quant_matmul/op_api/ 目录下的 5 个文件进行了重命名(renamed),整体代码逻辑、对外接口与实现均保持不变,仅伴随少量格式化调整(补充文件末尾缺失的换行符) ## 关联的Issue [5097](https://gitcode.com/cann/ops-nn/issues/5097) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:工程结构整改 ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!9138 | 2 个月前 | |
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 | 2 个月前 | |
修改产品名 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11348 merge master into master 修改产品名 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 修改产品名 ## 关联的Issue 关联Issue [#6089](https://gitcode.com/cann/ops-nn/issues/6089) ## 测试 仅涉及md文档更新,不涉及测试 ## 文档更新 修改所有md文件的产品名称 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11348 | 29 天前 |
Sparse4to2QuantMatmul
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A3系列产品 | √ |
| Atlas A2系列产品 | √ |
功能说明
-
算子功能:完成稀疏4:2量化的矩阵乘计算。
-
计算公式:
- Atlas A2系列产品、Atlas A3系列产品:
out=x@sparseWeight∗sparseWeightScale∗xScale+biasout = x@sparseWeight * sparseWeightScale * xScale + bias out=x@sparseWeight∗sparseWeightScale∗xScale+bias
- Atlas A2系列产品、Atlas A3系列产品:
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 矩阵乘运算中的左矩阵,对应公式的x。 | INT8 | ND |
| sparseWeight | 输入 | 矩阵乘运算中的稀疏右矩阵,经过压缩处理,对应公式的sparseWeight。 | INT8 | FRACTAL_NZ |
| index | 输入 | 矩阵乘运算中右矩阵在压缩过程中生成的索引矩阵。 | UINT8 | ND |
| xScale | 输入 | 输入x对应的反量化参数,对应公式的xScale。 | FLOAT32 | ND |
| sparseWeightScale | 输入 | 输入sparseWeight对应的反量化参数,对应公式的sparseWeightScale。 | FLOAT32 | ND |
| bias | 输入 | 矩阵乘运算后累加的偏置,对应公式中的bias。 | BFLOAT16 | ND |
| y | 输出 | 矩阵乘运算的计算结果。 | BFLOAT16 | ND |
约束说明
- 不支持空tensor。
- 不支持非连续tensor。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_sparse4to2quant_matmul | 通过 aclnnSparse4to2QuantMatmulWeightNz 等方式调用Sparse4to2QuantMatmul算子。 |