| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
refactor: matmul golden 公共 util 拆分为单入口多分类模块 Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !12232 merge rdv into master refactor: matmul golden 公共 util 拆分为单入口多分类模块 Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 将 matmul 类算子的 golden 公共 util 由单文件重构为「单一入口 + 按功能分类模块」: - matmul_golden_util 作为唯一入口:保留 torch<->numpy 桥接(torch_to_numpy / write_back),统一 re-export dtype/rearrange/quant/compare 四类公共符号(含 np_* dtype 常量),依赖方向单向 - 新增 matmul_dtype_util(dtype 常量、名称解析、cast 与精度截断)、matmul_rearrange_util(NZ/ND transdata、transpose、strides 推断)、matmul_compare_util(isclose + numeric ULP,原 numeric_ulp.py 并入);matmul_quant_util 收敛为纯量化模块(u64 编解码、group_size、weight pack/unpack、scale 生成/规整) - 12 个 golden 资产迁移为仅从总入口引用(10 个原 quant_util 使用者 + flat_quant 2 个);wqbmmv2 950 专属参数校验外迁至算子 tests/assets(新增 wqbmmv2_validate_util.py) - 清理死代码(TORCH_DTYPE_MAP、numpy_to_torch、get_input_range、quant_scale_generate、decode_group_size);简化 qbmmv4 隔离块(去除 sys.modules/sys.path 抖动);pack_int32_from_int4/fp4 合一、group_size 共享解析器、scale 生成复用底层 ## 关联的Issue 无 ## 测试 - 35 个 golden 资产独立进程加载通过(模拟 ttk spec 加载,不预置 sys.path) - 新旧实现逐函数数值等价校验 185 项全部通过(固定种子;覆盖 None/空张量/非连续视图/INT4 打包解包往返/NZ-ND 往返/torch 分支) - 本机无 NPU 环境:kernel/aclnn/e2e ST 精度回归需在设备侧执行(重点:qbmmv4 aclnn、wqbmmv2、flat_quant) ## 文档更新 无(本次仅重构测试 golden 资产,未涉及算子文档) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试资产重构(golden 公共 util 拆分) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12232 | 4 天前 | |
refactor: matmul golden 公共 util 拆分为单入口多分类模块 Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !12232 merge rdv into master refactor: matmul golden 公共 util 拆分为单入口多分类模块 Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 将 matmul 类算子的 golden 公共 util 由单文件重构为「单一入口 + 按功能分类模块」: - matmul_golden_util 作为唯一入口:保留 torch<->numpy 桥接(torch_to_numpy / write_back),统一 re-export dtype/rearrange/quant/compare 四类公共符号(含 np_* dtype 常量),依赖方向单向 - 新增 matmul_dtype_util(dtype 常量、名称解析、cast 与精度截断)、matmul_rearrange_util(NZ/ND transdata、transpose、strides 推断)、matmul_compare_util(isclose + numeric ULP,原 numeric_ulp.py 并入);matmul_quant_util 收敛为纯量化模块(u64 编解码、group_size、weight pack/unpack、scale 生成/规整) - 12 个 golden 资产迁移为仅从总入口引用(10 个原 quant_util 使用者 + flat_quant 2 个);wqbmmv2 950 专属参数校验外迁至算子 tests/assets(新增 wqbmmv2_validate_util.py) - 清理死代码(TORCH_DTYPE_MAP、numpy_to_torch、get_input_range、quant_scale_generate、decode_group_size);简化 qbmmv4 隔离块(去除 sys.modules/sys.path 抖动);pack_int32_from_int4/fp4 合一、group_size 共享解析器、scale 生成复用底层 ## 关联的Issue 无 ## 测试 - 35 个 golden 资产独立进程加载通过(模拟 ttk spec 加载,不预置 sys.path) - 新旧实现逐函数数值等价校验 185 项全部通过(固定种子;覆盖 None/空张量/非连续视图/INT4 打包解包往返/NZ-ND 往返/torch 分支) - 本机无 NPU 环境:kernel/aclnn/e2e ST 精度回归需在设备侧执行(重点:qbmmv4 aclnn、wqbmmv2、flat_quant) ## 文档更新 无(本次仅重构测试 golden 资产,未涉及算子文档) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试资产重构(golden 公共 util 拆分) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12232 | 4 天前 | |
修改产品名 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 | 1 个月前 | |
refactor: matmul golden 公共 util 拆分为单入口多分类模块 Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !12232 merge rdv into master refactor: matmul golden 公共 util 拆分为单入口多分类模块 Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 将 matmul 类算子的 golden 公共 util 由单文件重构为「单一入口 + 按功能分类模块」: - matmul_golden_util 作为唯一入口:保留 torch<->numpy 桥接(torch_to_numpy / write_back),统一 re-export dtype/rearrange/quant/compare 四类公共符号(含 np_* dtype 常量),依赖方向单向 - 新增 matmul_dtype_util(dtype 常量、名称解析、cast 与精度截断)、matmul_rearrange_util(NZ/ND transdata、transpose、strides 推断)、matmul_compare_util(isclose + numeric ULP,原 numeric_ulp.py 并入);matmul_quant_util 收敛为纯量化模块(u64 编解码、group_size、weight pack/unpack、scale 生成/规整) - 12 个 golden 资产迁移为仅从总入口引用(10 个原 quant_util 使用者 + flat_quant 2 个);wqbmmv2 950 专属参数校验外迁至算子 tests/assets(新增 wqbmmv2_validate_util.py) - 清理死代码(TORCH_DTYPE_MAP、numpy_to_torch、get_input_range、quant_scale_generate、decode_group_size);简化 qbmmv4 隔离块(去除 sys.modules/sys.path 抖动);pack_int32_from_int4/fp4 合一、group_size 共享解析器、scale 生成复用底层 ## 关联的Issue 无 ## 测试 - 35 个 golden 资产独立进程加载通过(模拟 ttk spec 加载,不预置 sys.path) - 新旧实现逐函数数值等价校验 185 项全部通过(固定种子;覆盖 None/空张量/非连续视图/INT4 打包解包往返/NZ-ND 往返/torch 分支) - 本机无 NPU 环境:kernel/aclnn/e2e ST 精度回归需在设备侧执行(重点:qbmmv4 aclnn、wqbmmv2、flat_quant) ## 文档更新 无(本次仅重构测试 golden 资产,未涉及算子文档) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试资产重构(golden 公共 util 拆分) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12232 | 4 天前 | |
gemvv3 Co-authored-by: szhexin<shangzhexin@huawei.com> # message auto-generated for no-merge-commit merge: !12690 merge gemvv3 into master gemvv3 Created-by: szhexin Commit-by: szhexin Merged-by: cann-robot Description: ## 描述 变更摘要 本 PR 新增 matmul 模块下的融合算子 ConfidenceHeadFused(confidence_head_fused),把“可选 markov_emb 拼接 → features @ weight + bias 投影 → 按 temperature 缩放 → clamp_low/clamp_high 截断 → sigmoid”整条置信度头计算融合为单个 kernel,避免中间结果落 GM。算子支持 2D/3D 输入、float16/bfloat16 特征与 float32 输出、可选 bias[N](跨 batch 广播)以及可选 temperature[1],仅注册在 ascend950/ascend350 平台。同时更新了算子仓库依赖的 ops-tensor 版本与地址,并修正 fused_mat_mul 中 sigmoid epilogue 的模板参数。 主要改动 新增算子原型与注册:confidence_head_fused_proto.h 与 confidence_head_fused_def.cpp 定义输入 hidden/weight(DT_FLOAT16、DT_BF16)、可选输入 markov_emb/temperature/bias、DT_FLOAT 输出 out,以及属性 clamp_low/clamp_high(默认 ±INT32_MAX 表示不截断),AICore 配置仅挂载 ascend950、ascend350。 新增 ACLNN 两段式接口:aclnn_confidence_head_fused.h/.cpp 提供 aclnnConfidenceHeadFusedGetWorkspaceSize 与 aclnnConfidenceHeadFused,包含 SoC 版本、dtype、rank、shape(含 weight 长度 = K1+K2、bias 长度 = N、维度上限 UINT32)、format(拒绝 FRACTAL_NZ)与 clamp 标量可转 FP32 的校验;confidence_head_fused.h/.cpp 提供 l0op::ConfidenceHeadFused 封装与输出 shape 推导。 新增 tiling 与 kernel 侧数据结构:confidence_head_fused_tiling.cpp/.h 完成平台信息校验(要求 AIC:AIV = 1:2)、L1/L0/UB 容量检查、按 bias 广播边界切分 tile 并写入 ConfidenceHeadFusedTilingData;confidence_head_fused_tiling_data.h 定义 params/cubeTiling 字段(n、kEmbed、kMarkov、hasBias、lowLimit 等);TilingKey 用 hasMarkov 区分 CONFIDENCE_HEAD_FUSED_NO_MARKOV 与 _WITH_MARKOV 两条模板分支。 新增 kernel 实现入口与 Torch 扩展:confidence_head_fused_kernel.h 按 tiling key 选择 A_FULL_LOAD_MODE 策略与 BlockEpilogueConfidenceHeadFused;torch_extension 侧新增 confidence_head_fused 的 schema、Meta 实现与 PrivateUse1 实现(含 clamp_low/clamp_high 可选标量),并在 matmul/__init__.py 中导出。 新增测试与示例:包含 ut/op_api 的 ACLNN 接口用例(可选输入组合、空输出、各类非法 shape/dtype/SoC)、ut/op_host 的 tiling 用例(bf16 3D + markov、空 reduction、UB/L1 不足、AIC:AIV 比例异常等),以及 kernel/aclnn/e2e 三级 Python golden 与 test_aclnn_confidence_head_fused.cpp 调用样例。 依赖与既有代码调整:cmake/third_party/ops-tensor.cmake 更新 OPTENSOR_TAG_ID 并将 HTTPS 地址改为个人仓库分支;fused_mat_mul_sigmoid_asw_basic.h 将 BlockEpilogueMatmulWithSigmoid 的模板实参由 (DispatchPolicy, ElementType) 简化为 (ElementType) <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->实现gemv+sigmoid的融合处理。 实现置信度头计算公式算子提高性能 features = hidden if markov_emb is None else cat([hidden, markov_emb], dim=-1) z = features @ weight + bias # bias为[N],缺省时为0 out = 1 / (1 + exp(min(max(-z / temperature, clamp_low), clamp_high))) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->Issue [#6666](https://gitcode.com/cann/ops-nn/issues/6666) ## 测试 <!--描述进行了哪些测试来验证你的改动。-->冒烟通过,本地验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul/confidence_head_fused/docs/aclnnConfidenceHeadFused.md matmul/confidence_head_fused/docs/torchapi_confidence_head_fused.md matmul/confidence_head_fused/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!12690 | 2 天前 | |
修复matmul算子Issue问题 Co-authored-by: zhengyuhao3<zhengyuhao3@huawei.com> # message auto-generated for no-merge-commit merge: !12639 merge master-fix_mm_issue into master 修复matmul算子Issue问题 Created-by: zhengyuhao3 Commit-by: zhengyuhao3 Merged-by: cann-robot Description: ## 描述 修复matmul算子接口文档与接口实现不一致问题(aclnnConvertWeightToINT4Pack、aclnnFusedQuantMatmul、aclnnFusedQuantMatmulWeightNz、aclnnQuantMatmulReduceSumWeightNz ) aclnnConvertWeightToINT4Pack:增加维度中包含0的空tensor拦截,接口补充weight和weightInt4Pack维度一致的校验 aclnnFusedQuantMatmul:修复文档描述,可选输入groupSizeOptional为数值类型,不支持空指针,应修改为传入0;修改接口校验规则,使用明确的161002(ACLNN_ERR_PARAM_INVALID)作为校验失败的返回; aclnnFusedQuantMatmulWeightNz:修改文档描述x2按逻辑shape声明,维度为2~6。不转置时为(batch,k,n),转置时为(batch,n,k),batch可不存在,实际内部存储才是4~8维; aclnnQuantMatmulReduceSumWeightNz :1. 修改文档描述,x2入参按逻辑shape声明为3维(batch, k, n),数据格式为NZ。(batch,n1,k1,k0,n0)是NZ内部存储排布;2. 在示例代码中补充调用 aclnnTransMatmulWeight,避免随机权重下静默算错 aclnnMv:修改接口校验拦截规则。1.cubeMathType=2 不支持 BF16,返回ACLNN_ERR_PARAM_INVALID;2. cubeMathType=3 仅支持 FLOAT32,其余类型返回ACLNN_ERR_PARAM_INVALID。3. self、vec、out的数据类型必须一致。空tensor也要校验,避免非法dtype被静默放行 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/7195 https://gitcode.com/cann/ops-nn/issues/7066 https://gitcode.com/cann/ops-nn/issues/7065 https://gitcode.com/cann/ops-nn/issues/7064 https://gitcode.com/cann/ops-nn/issues/7058 https://gitcode.com/cann/ops-nn/issues/7057 https://gitcode.com/cann/ops-nn/issues/7053 https://gitcode.com/cann/ops-nn/issues/7052 https://gitcode.com/cann/ops-nn/issues/7051 https://gitcode.com/cann/ops-nn/issues/6946 ## 测试 RDV执行通过 aclnnConvertWeightToINT4Pack验证结果:  aclnnFusedQuantMatmul验证结果:   ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12639 | 4 天前 | |
refactor: matmul golden 公共 util 拆分为单入口多分类模块 Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !12232 merge rdv into master refactor: matmul golden 公共 util 拆分为单入口多分类模块 Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 将 matmul 类算子的 golden 公共 util 由单文件重构为「单一入口 + 按功能分类模块」: - matmul_golden_util 作为唯一入口:保留 torch<->numpy 桥接(torch_to_numpy / write_back),统一 re-export dtype/rearrange/quant/compare 四类公共符号(含 np_* dtype 常量),依赖方向单向 - 新增 matmul_dtype_util(dtype 常量、名称解析、cast 与精度截断)、matmul_rearrange_util(NZ/ND transdata、transpose、strides 推断)、matmul_compare_util(isclose + numeric ULP,原 numeric_ulp.py 并入);matmul_quant_util 收敛为纯量化模块(u64 编解码、group_size、weight pack/unpack、scale 生成/规整) - 12 个 golden 资产迁移为仅从总入口引用(10 个原 quant_util 使用者 + flat_quant 2 个);wqbmmv2 950 专属参数校验外迁至算子 tests/assets(新增 wqbmmv2_validate_util.py) - 清理死代码(TORCH_DTYPE_MAP、numpy_to_torch、get_input_range、quant_scale_generate、decode_group_size);简化 qbmmv4 隔离块(去除 sys.modules/sys.path 抖动);pack_int32_from_int4/fp4 合一、group_size 共享解析器、scale 生成复用底层 ## 关联的Issue 无 ## 测试 - 35 个 golden 资产独立进程加载通过(模拟 ttk spec 加载,不预置 sys.path) - 新旧实现逐函数数值等价校验 185 项全部通过(固定种子;覆盖 None/空张量/非连续视图/INT4 打包解包往返/NZ-ND 往返/torch 分支) - 本机无 NPU 环境:kernel/aclnn/e2e ST 精度回归需在设备侧执行(重点:qbmmv4 aclnn、wqbmmv2、flat_quant) ## 文档更新 无(本次仅重构测试 golden 资产,未涉及算子文档) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试资产重构(golden 公共 util 拆分) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12232 | 4 天前 | |
fix: 整改10个quant类算子非法使用的错误码 Co-authored-by: gcw_mJtIrnnZ<wuyifan67@h-partners.com> # message auto-generated for no-merge-commit merge: !12860 merge fix-quant-error-code-batch3 into master fix: 整改10个quant类算子非法使用的错误码 Created-by: gcw_mJtIrnnZ Commit-by: gcw_mJtIrnnZ Merged-by: cann-robot Description: ## 描述 E9****替换为正式结构化错误码,进行整改。 ## 关联的Issue 关联Issue [#7487](https://gitcode.com/cann/ops-nn/issues/7487) ## 测试 通过UT测试 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!12860 | 2 天前 | |
修改aclnn确定性开关 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !12749 merge master into master 修改aclnn确定性开关 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 1、修改aclnn确定性开关为aclrtSetSysParamOpt 2、修复删除查看源码后的多余空行 ## 关联的Issue 关联Issue [#7186](https://gitcode.com/cann/ops-nn/issues/7186) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12749 | 4 天前 | |
修改产品名 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 | 1 个月前 | |
gemvv3 Co-authored-by: szhexin<shangzhexin@huawei.com> # message auto-generated for no-merge-commit merge: !12690 merge gemvv3 into master gemvv3 Created-by: szhexin Commit-by: szhexin Merged-by: cann-robot Description: ## 描述 变更摘要 本 PR 新增 matmul 模块下的融合算子 ConfidenceHeadFused(confidence_head_fused),把“可选 markov_emb 拼接 → features @ weight + bias 投影 → 按 temperature 缩放 → clamp_low/clamp_high 截断 → sigmoid”整条置信度头计算融合为单个 kernel,避免中间结果落 GM。算子支持 2D/3D 输入、float16/bfloat16 特征与 float32 输出、可选 bias[N](跨 batch 广播)以及可选 temperature[1],仅注册在 ascend950/ascend350 平台。同时更新了算子仓库依赖的 ops-tensor 版本与地址,并修正 fused_mat_mul 中 sigmoid epilogue 的模板参数。 主要改动 新增算子原型与注册:confidence_head_fused_proto.h 与 confidence_head_fused_def.cpp 定义输入 hidden/weight(DT_FLOAT16、DT_BF16)、可选输入 markov_emb/temperature/bias、DT_FLOAT 输出 out,以及属性 clamp_low/clamp_high(默认 ±INT32_MAX 表示不截断),AICore 配置仅挂载 ascend950、ascend350。 新增 ACLNN 两段式接口:aclnn_confidence_head_fused.h/.cpp 提供 aclnnConfidenceHeadFusedGetWorkspaceSize 与 aclnnConfidenceHeadFused,包含 SoC 版本、dtype、rank、shape(含 weight 长度 = K1+K2、bias 长度 = N、维度上限 UINT32)、format(拒绝 FRACTAL_NZ)与 clamp 标量可转 FP32 的校验;confidence_head_fused.h/.cpp 提供 l0op::ConfidenceHeadFused 封装与输出 shape 推导。 新增 tiling 与 kernel 侧数据结构:confidence_head_fused_tiling.cpp/.h 完成平台信息校验(要求 AIC:AIV = 1:2)、L1/L0/UB 容量检查、按 bias 广播边界切分 tile 并写入 ConfidenceHeadFusedTilingData;confidence_head_fused_tiling_data.h 定义 params/cubeTiling 字段(n、kEmbed、kMarkov、hasBias、lowLimit 等);TilingKey 用 hasMarkov 区分 CONFIDENCE_HEAD_FUSED_NO_MARKOV 与 _WITH_MARKOV 两条模板分支。 新增 kernel 实现入口与 Torch 扩展:confidence_head_fused_kernel.h 按 tiling key 选择 A_FULL_LOAD_MODE 策略与 BlockEpilogueConfidenceHeadFused;torch_extension 侧新增 confidence_head_fused 的 schema、Meta 实现与 PrivateUse1 实现(含 clamp_low/clamp_high 可选标量),并在 matmul/__init__.py 中导出。 新增测试与示例:包含 ut/op_api 的 ACLNN 接口用例(可选输入组合、空输出、各类非法 shape/dtype/SoC)、ut/op_host 的 tiling 用例(bf16 3D + markov、空 reduction、UB/L1 不足、AIC:AIV 比例异常等),以及 kernel/aclnn/e2e 三级 Python golden 与 test_aclnn_confidence_head_fused.cpp 调用样例。 依赖与既有代码调整:cmake/third_party/ops-tensor.cmake 更新 OPTENSOR_TAG_ID 并将 HTTPS 地址改为个人仓库分支;fused_mat_mul_sigmoid_asw_basic.h 将 BlockEpilogueMatmulWithSigmoid 的模板实参由 (DispatchPolicy, ElementType) 简化为 (ElementType) <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->实现gemv+sigmoid的融合处理。 实现置信度头计算公式算子提高性能 features = hidden if markov_emb is None else cat([hidden, markov_emb], dim=-1) z = features @ weight + bias # bias为[N],缺省时为0 out = 1 / (1 + exp(min(max(-z / temperature, clamp_low), clamp_high))) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->Issue [#6666](https://gitcode.com/cann/ops-nn/issues/6666) ## 测试 <!--描述进行了哪些测试来验证你的改动。-->冒烟通过,本地验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul/confidence_head_fused/docs/aclnnConfidenceHeadFused.md matmul/confidence_head_fused/docs/torchapi_confidence_head_fused.md matmul/confidence_head_fused/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!12690 | 2 天前 | |
修复matmul算子Issue问题 Co-authored-by: zhengyuhao3<zhengyuhao3@huawei.com> # message auto-generated for no-merge-commit merge: !12639 merge master-fix_mm_issue into master 修复matmul算子Issue问题 Created-by: zhengyuhao3 Commit-by: zhengyuhao3 Merged-by: cann-robot Description: ## 描述 修复matmul算子接口文档与接口实现不一致问题(aclnnConvertWeightToINT4Pack、aclnnFusedQuantMatmul、aclnnFusedQuantMatmulWeightNz、aclnnQuantMatmulReduceSumWeightNz ) aclnnConvertWeightToINT4Pack:增加维度中包含0的空tensor拦截,接口补充weight和weightInt4Pack维度一致的校验 aclnnFusedQuantMatmul:修复文档描述,可选输入groupSizeOptional为数值类型,不支持空指针,应修改为传入0;修改接口校验规则,使用明确的161002(ACLNN_ERR_PARAM_INVALID)作为校验失败的返回; aclnnFusedQuantMatmulWeightNz:修改文档描述x2按逻辑shape声明,维度为2~6。不转置时为(batch,k,n),转置时为(batch,n,k),batch可不存在,实际内部存储才是4~8维; aclnnQuantMatmulReduceSumWeightNz :1. 修改文档描述,x2入参按逻辑shape声明为3维(batch, k, n),数据格式为NZ。(batch,n1,k1,k0,n0)是NZ内部存储排布;2. 在示例代码中补充调用 aclnnTransMatmulWeight,避免随机权重下静默算错 aclnnMv:修改接口校验拦截规则。1.cubeMathType=2 不支持 BF16,返回ACLNN_ERR_PARAM_INVALID;2. cubeMathType=3 仅支持 FLOAT32,其余类型返回ACLNN_ERR_PARAM_INVALID。3. self、vec、out的数据类型必须一致。空tensor也要校验,避免非法dtype被静默放行 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/7195 https://gitcode.com/cann/ops-nn/issues/7066 https://gitcode.com/cann/ops-nn/issues/7065 https://gitcode.com/cann/ops-nn/issues/7064 https://gitcode.com/cann/ops-nn/issues/7058 https://gitcode.com/cann/ops-nn/issues/7057 https://gitcode.com/cann/ops-nn/issues/7053 https://gitcode.com/cann/ops-nn/issues/7052 https://gitcode.com/cann/ops-nn/issues/7051 https://gitcode.com/cann/ops-nn/issues/6946 ## 测试 RDV执行通过 aclnnConvertWeightToINT4Pack验证结果:  aclnnFusedQuantMatmul验证结果:   ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12639 | 4 天前 | |
refactor: matmul golden 公共 util 拆分为单入口多分类模块 Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !12232 merge rdv into master refactor: matmul golden 公共 util 拆分为单入口多分类模块 Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 将 matmul 类算子的 golden 公共 util 由单文件重构为「单一入口 + 按功能分类模块」: - matmul_golden_util 作为唯一入口:保留 torch<->numpy 桥接(torch_to_numpy / write_back),统一 re-export dtype/rearrange/quant/compare 四类公共符号(含 np_* dtype 常量),依赖方向单向 - 新增 matmul_dtype_util(dtype 常量、名称解析、cast 与精度截断)、matmul_rearrange_util(NZ/ND transdata、transpose、strides 推断)、matmul_compare_util(isclose + numeric ULP,原 numeric_ulp.py 并入);matmul_quant_util 收敛为纯量化模块(u64 编解码、group_size、weight pack/unpack、scale 生成/规整) - 12 个 golden 资产迁移为仅从总入口引用(10 个原 quant_util 使用者 + flat_quant 2 个);wqbmmv2 950 专属参数校验外迁至算子 tests/assets(新增 wqbmmv2_validate_util.py) - 清理死代码(TORCH_DTYPE_MAP、numpy_to_torch、get_input_range、quant_scale_generate、decode_group_size);简化 qbmmv4 隔离块(去除 sys.modules/sys.path 抖动);pack_int32_from_int4/fp4 合一、group_size 共享解析器、scale 生成复用底层 ## 关联的Issue 无 ## 测试 - 35 个 golden 资产独立进程加载通过(模拟 ttk spec 加载,不预置 sys.path) - 新旧实现逐函数数值等价校验 185 项全部通过(固定种子;覆盖 None/空张量/非连续视图/INT4 打包解包往返/NZ-ND 往返/torch 分支) - 本机无 NPU 环境:kernel/aclnn/e2e ST 精度回归需在设备侧执行(重点:qbmmv4 aclnn、wqbmmv2、flat_quant) ## 文档更新 无(本次仅重构测试 golden 资产,未涉及算子文档) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试资产重构(golden 公共 util 拆分) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12232 | 4 天前 | |
修改aclnn确定性开关 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !12749 merge master into master 修改aclnn确定性开关 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 1、修改aclnn确定性开关为aclrtSetSysParamOpt 2、修复删除查看源码后的多余空行 ## 关联的Issue 关联Issue [#7186](https://gitcode.com/cann/ops-nn/issues/7186) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12749 | 4 天前 | |
修复matmul 目录 README 文档错别字和中英文语义重复问题 Co-authored-by: yangyang016<yangyang306@hisilicon.com> # message auto-generated for no-merge-commit merge: !11612 merge master into master 修复matmul 目录 README 文档错别字和中英文语义重复问题 Created-by: yangyang016 Commit-by: yangyang016 Merged-by: cann-robot Description: ## 描述 修复 AIDD 扫描发现的 matmul 目录 README 文档错别字和中英文语义重复问题,统一术语表达,提升文档准确性。本次仅修改文档,不涉及算子接口及功能逻辑变化。 ## 修改内容 - 修正 dual_level_quant_batch_matmul/README.md 计算说明及公式中的变量名:Levl0/Levl1 改为 Level0/Level1。 - 修正 gemm_v2/README.md 和 gemm_v3/README.md 中“输入input和输出”的中英文重复表述。 - 修正 quant_batch_matmul_inplace_add/README.md 中“梯度累计”为“梯度累积”。 ## 关联的Issue - 关联 [Issue #6415](https://gitcode.com/cann/ops-nn/issues/6415) ## 测试 - git diff --check 检查通过。 - 已检查目标 README,不再包含 Levl、输入input、梯度累计 等问题文本。 - 本次为纯文档修改,不涉及代码编译及单元测试。 ## 文档更新 更新以下 README: - matmul/dual_level_quant_batch_matmul/README.md - matmul/gemm_v2/README.md - matmul/gemm_v3/README.md - matmul/quant_batch_matmul_inplace_add/README.md ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11612 | 21 天前 | |
Ascend960-matmul系列算子与Ascend950平台归一 Co-authored-by: yijiliang<yijiliang1@huawei.com> # message auto-generated for no-merge-commit merge: !12293 merge merge-test1 into master Ascend960-matmul系列算子与Ascend950平台归一 Created-by: yijiliang Commit-by: yijiliang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 为支持 Ascend960平台,将 MatMulV3系列算子与 3510 归一为单代码线,复用 arch35 既有 tiling 与 kernel 框架。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/6802 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 本地验证950及960测试用例无问题 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12293 | 9 天前 | |
refactor: matmul golden 公共 util 拆分为单入口多分类模块 Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !12232 merge rdv into master refactor: matmul golden 公共 util 拆分为单入口多分类模块 Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 将 matmul 类算子的 golden 公共 util 由单文件重构为「单一入口 + 按功能分类模块」: - matmul_golden_util 作为唯一入口:保留 torch<->numpy 桥接(torch_to_numpy / write_back),统一 re-export dtype/rearrange/quant/compare 四类公共符号(含 np_* dtype 常量),依赖方向单向 - 新增 matmul_dtype_util(dtype 常量、名称解析、cast 与精度截断)、matmul_rearrange_util(NZ/ND transdata、transpose、strides 推断)、matmul_compare_util(isclose + numeric ULP,原 numeric_ulp.py 并入);matmul_quant_util 收敛为纯量化模块(u64 编解码、group_size、weight pack/unpack、scale 生成/规整) - 12 个 golden 资产迁移为仅从总入口引用(10 个原 quant_util 使用者 + flat_quant 2 个);wqbmmv2 950 专属参数校验外迁至算子 tests/assets(新增 wqbmmv2_validate_util.py) - 清理死代码(TORCH_DTYPE_MAP、numpy_to_torch、get_input_range、quant_scale_generate、decode_group_size);简化 qbmmv4 隔离块(去除 sys.modules/sys.path 抖动);pack_int32_from_int4/fp4 合一、group_size 共享解析器、scale 生成复用底层 ## 关联的Issue 无 ## 测试 - 35 个 golden 资产独立进程加载通过(模拟 ttk spec 加载,不预置 sys.path) - 新旧实现逐函数数值等价校验 185 项全部通过(固定种子;覆盖 None/空张量/非连续视图/INT4 打包解包往返/NZ-ND 往返/torch 分支) - 本机无 NPU 环境:kernel/aclnn/e2e ST 精度回归需在设备侧执行(重点:qbmmv4 aclnn、wqbmmv2、flat_quant) ## 文档更新 无(本次仅重构测试 golden 资产,未涉及算子文档) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试资产重构(golden 公共 util 拆分) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12232 | 4 天前 | |
修改aclnn确定性开关 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !12749 merge master into master 修改aclnn确定性开关 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 1、修改aclnn确定性开关为aclrtSetSysParamOpt 2、修复删除查看源码后的多余空行 ## 关联的Issue 关联Issue [#7186](https://gitcode.com/cann/ops-nn/issues/7186) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12749 | 4 天前 | |
refactor: matmul golden 公共 util 拆分为单入口多分类模块 Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !12232 merge rdv into master refactor: matmul golden 公共 util 拆分为单入口多分类模块 Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 将 matmul 类算子的 golden 公共 util 由单文件重构为「单一入口 + 按功能分类模块」: - matmul_golden_util 作为唯一入口:保留 torch<->numpy 桥接(torch_to_numpy / write_back),统一 re-export dtype/rearrange/quant/compare 四类公共符号(含 np_* dtype 常量),依赖方向单向 - 新增 matmul_dtype_util(dtype 常量、名称解析、cast 与精度截断)、matmul_rearrange_util(NZ/ND transdata、transpose、strides 推断)、matmul_compare_util(isclose + numeric ULP,原 numeric_ulp.py 并入);matmul_quant_util 收敛为纯量化模块(u64 编解码、group_size、weight pack/unpack、scale 生成/规整) - 12 个 golden 资产迁移为仅从总入口引用(10 个原 quant_util 使用者 + flat_quant 2 个);wqbmmv2 950 专属参数校验外迁至算子 tests/assets(新增 wqbmmv2_validate_util.py) - 清理死代码(TORCH_DTYPE_MAP、numpy_to_torch、get_input_range、quant_scale_generate、decode_group_size);简化 qbmmv4 隔离块(去除 sys.modules/sys.path 抖动);pack_int32_from_int4/fp4 合一、group_size 共享解析器、scale 生成复用底层 ## 关联的Issue 无 ## 测试 - 35 个 golden 资产独立进程加载通过(模拟 ttk spec 加载,不预置 sys.path) - 新旧实现逐函数数值等价校验 185 项全部通过(固定种子;覆盖 None/空张量/非连续视图/INT4 打包解包往返/NZ-ND 往返/torch 分支) - 本机无 NPU 环境:kernel/aclnn/e2e ST 精度回归需在设备侧执行(重点:qbmmv4 aclnn、wqbmmv2、flat_quant) ## 文档更新 无(本次仅重构测试 golden 资产,未涉及算子文档) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试资产重构(golden 公共 util 拆分) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12232 | 4 天前 | |
修改aclnn确定性开关 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !12749 merge master into master 修改aclnn确定性开关 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 1、修改aclnn确定性开关为aclrtSetSysParamOpt 2、修复删除查看源码后的多余空行 ## 关联的Issue 关联Issue [#7186](https://gitcode.com/cann/ops-nn/issues/7186) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12749 | 4 天前 | |
修复matmul算子Issue问题 Co-authored-by: zhengyuhao3<zhengyuhao3@huawei.com> # message auto-generated for no-merge-commit merge: !12639 merge master-fix_mm_issue into master 修复matmul算子Issue问题 Created-by: zhengyuhao3 Commit-by: zhengyuhao3 Merged-by: cann-robot Description: ## 描述 修复matmul算子接口文档与接口实现不一致问题(aclnnConvertWeightToINT4Pack、aclnnFusedQuantMatmul、aclnnFusedQuantMatmulWeightNz、aclnnQuantMatmulReduceSumWeightNz ) aclnnConvertWeightToINT4Pack:增加维度中包含0的空tensor拦截,接口补充weight和weightInt4Pack维度一致的校验 aclnnFusedQuantMatmul:修复文档描述,可选输入groupSizeOptional为数值类型,不支持空指针,应修改为传入0;修改接口校验规则,使用明确的161002(ACLNN_ERR_PARAM_INVALID)作为校验失败的返回; aclnnFusedQuantMatmulWeightNz:修改文档描述x2按逻辑shape声明,维度为2~6。不转置时为(batch,k,n),转置时为(batch,n,k),batch可不存在,实际内部存储才是4~8维; aclnnQuantMatmulReduceSumWeightNz :1. 修改文档描述,x2入参按逻辑shape声明为3维(batch, k, n),数据格式为NZ。(batch,n1,k1,k0,n0)是NZ内部存储排布;2. 在示例代码中补充调用 aclnnTransMatmulWeight,避免随机权重下静默算错 aclnnMv:修改接口校验拦截规则。1.cubeMathType=2 不支持 BF16,返回ACLNN_ERR_PARAM_INVALID;2. cubeMathType=3 仅支持 FLOAT32,其余类型返回ACLNN_ERR_PARAM_INVALID。3. self、vec、out的数据类型必须一致。空tensor也要校验,避免非法dtype被静默放行 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/7195 https://gitcode.com/cann/ops-nn/issues/7066 https://gitcode.com/cann/ops-nn/issues/7065 https://gitcode.com/cann/ops-nn/issues/7064 https://gitcode.com/cann/ops-nn/issues/7058 https://gitcode.com/cann/ops-nn/issues/7057 https://gitcode.com/cann/ops-nn/issues/7053 https://gitcode.com/cann/ops-nn/issues/7052 https://gitcode.com/cann/ops-nn/issues/7051 https://gitcode.com/cann/ops-nn/issues/6946 ## 测试 RDV执行通过 aclnnConvertWeightToINT4Pack验证结果:  aclnnFusedQuantMatmul验证结果:   ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12639 | 4 天前 | |
refactor: matmul golden 公共 util 拆分为单入口多分类模块 Co-authored-by: he_kan<hekan4@huawei.com> # message auto-generated for no-merge-commit merge: !12232 merge rdv into master refactor: matmul golden 公共 util 拆分为单入口多分类模块 Created-by: he_kan Commit-by: he_kan Merged-by: cann-robot Description: ## 描述 将 matmul 类算子的 golden 公共 util 由单文件重构为「单一入口 + 按功能分类模块」: - matmul_golden_util 作为唯一入口:保留 torch<->numpy 桥接(torch_to_numpy / write_back),统一 re-export dtype/rearrange/quant/compare 四类公共符号(含 np_* dtype 常量),依赖方向单向 - 新增 matmul_dtype_util(dtype 常量、名称解析、cast 与精度截断)、matmul_rearrange_util(NZ/ND transdata、transpose、strides 推断)、matmul_compare_util(isclose + numeric ULP,原 numeric_ulp.py 并入);matmul_quant_util 收敛为纯量化模块(u64 编解码、group_size、weight pack/unpack、scale 生成/规整) - 12 个 golden 资产迁移为仅从总入口引用(10 个原 quant_util 使用者 + flat_quant 2 个);wqbmmv2 950 专属参数校验外迁至算子 tests/assets(新增 wqbmmv2_validate_util.py) - 清理死代码(TORCH_DTYPE_MAP、numpy_to_torch、get_input_range、quant_scale_generate、decode_group_size);简化 qbmmv4 隔离块(去除 sys.modules/sys.path 抖动);pack_int32_from_int4/fp4 合一、group_size 共享解析器、scale 生成复用底层 ## 关联的Issue 无 ## 测试 - 35 个 golden 资产独立进程加载通过(模拟 ttk spec 加载,不预置 sys.path) - 新旧实现逐函数数值等价校验 185 项全部通过(固定种子;覆盖 None/空张量/非连续视图/INT4 打包解包往返/NZ-ND 往返/torch 分支) - 本机无 NPU 环境:kernel/aclnn/e2e ST 精度回归需在设备侧执行(重点:qbmmv4 aclnn、wqbmmv2、flat_quant) ## 文档更新 无(本次仅重构测试 golden 资产,未涉及算子文档) ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:测试资产重构(golden 公共 util 拆分) ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12232 | 4 天前 | |
fix(quant_batch_matmul_v3): 修复Ascend960基本块搜索与校验逻辑 Co-authored-by: wangzitao_leo<wangzitao4@huawei.com> # message auto-generated for no-merge-commit merge: !12723 merge fix_960_invalid_tiling into master fix(quant_batch_matmul_v3): 修复Ascend960基本块搜索与校验逻辑 Created-by: wangzitao_leo Commit-by: wangzitao_leo Merged-by: cann-robot Description: ## 描述 ### 改动原因 960(DAV_9201/DAV_9202)arch35 tiling 存在两类问题: 1. QuantBatchMatmulV3CheckerArch9201::CheckExtraBiasConstraint 覆盖基类默认实现,对 FLOAT8_E4M3FN/FLOAT8_E5M2/HIFLOAT8 + 逐通道 FLOAT scale(dim0==n 且 n!=1)+ per-tensor FLOAT pertokenScale(dim0==1 且 m!=1)的合法组合直接报 "bias is not supported" 拒绝 tiling。 2. base_block_load_balance_calculator.cpp 中 hif4 相关处理(baseK 64 对齐、9202 hif4 per-group 算力折算、M/N 拆分判定)被 METADEF_VERSION_NUM >= 90300000 条件编译包裹,低版本 metadef 下被跳过;且 AdaptiveSlidingWindowCubeBasicAPITiling::CalcBasicBlock 未传入 platformInfo,SoC 规格取默认值。 ### 改动方法 - quant_batch_matmul_v3_checker_arch_9201.cpp/h:移除 CheckExtraBiasConstraint 覆盖,回退基类默认实现(返回支持)。 - base_block_load_balance_calculator.cpp:移除 METADEF_VERSION_NUM >= 90300000 条件编译,统一使用 Ops::NN::DT_HIFLOAT4/Ops::NN::DT_HIFLOAT4_SCALE 判定 hif4 场景。 - adaptive_sliding_window_cube_basic_api_tiling.cpp:BaseBlockCalculator 构造时传入 context_->GetPlatformInfo(),使负载均衡基块搜索读取平台实际 SoC 规格。 - 清理 base_block_calculator.h、(平滑窗口相关文件) 中过期的移植注释。 ## 关联的Issue Closes #7326 ## 测试 改动为纯 host tiling 逻辑,未进行设备侧验证;建议在 960(DAV_9201/9202)工具链下补充验证: - FLOAT8_E4M3FN/E5M2/HIFLOAT8 + 逐通道 scale + per-tensor pertokenScale + bias 组合可正常下发 tiling; - hif4/mx per-group 场景基块搜索 baseK 64 对齐、9202 算力折算与 M/N 拆分行为符合预期。 ## 文档更新 无 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [ ] AI辅助编写 See merge request: cann/ops-nn!12723 | 2 天前 | |
修复matmul算子Issue问题 Co-authored-by: zhengyuhao3<zhengyuhao3@huawei.com> # message auto-generated for no-merge-commit merge: !12639 merge master-fix_mm_issue into master 修复matmul算子Issue问题 Created-by: zhengyuhao3 Commit-by: zhengyuhao3 Merged-by: cann-robot Description: ## 描述 修复matmul算子接口文档与接口实现不一致问题(aclnnConvertWeightToINT4Pack、aclnnFusedQuantMatmul、aclnnFusedQuantMatmulWeightNz、aclnnQuantMatmulReduceSumWeightNz ) aclnnConvertWeightToINT4Pack:增加维度中包含0的空tensor拦截,接口补充weight和weightInt4Pack维度一致的校验 aclnnFusedQuantMatmul:修复文档描述,可选输入groupSizeOptional为数值类型,不支持空指针,应修改为传入0;修改接口校验规则,使用明确的161002(ACLNN_ERR_PARAM_INVALID)作为校验失败的返回; aclnnFusedQuantMatmulWeightNz:修改文档描述x2按逻辑shape声明,维度为2~6。不转置时为(batch,k,n),转置时为(batch,n,k),batch可不存在,实际内部存储才是4~8维; aclnnQuantMatmulReduceSumWeightNz :1. 修改文档描述,x2入参按逻辑shape声明为3维(batch, k, n),数据格式为NZ。(batch,n1,k1,k0,n0)是NZ内部存储排布;2. 在示例代码中补充调用 aclnnTransMatmulWeight,避免随机权重下静默算错 aclnnMv:修改接口校验拦截规则。1.cubeMathType=2 不支持 BF16,返回ACLNN_ERR_PARAM_INVALID;2. cubeMathType=3 仅支持 FLOAT32,其余类型返回ACLNN_ERR_PARAM_INVALID。3. self、vec、out的数据类型必须一致。空tensor也要校验,避免非法dtype被静默放行 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/7195 https://gitcode.com/cann/ops-nn/issues/7066 https://gitcode.com/cann/ops-nn/issues/7065 https://gitcode.com/cann/ops-nn/issues/7064 https://gitcode.com/cann/ops-nn/issues/7058 https://gitcode.com/cann/ops-nn/issues/7057 https://gitcode.com/cann/ops-nn/issues/7053 https://gitcode.com/cann/ops-nn/issues/7052 https://gitcode.com/cann/ops-nn/issues/7051 https://gitcode.com/cann/ops-nn/issues/6946 ## 测试 RDV执行通过 aclnnConvertWeightToINT4Pack验证结果:  aclnnFusedQuantMatmul验证结果:   ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12639 | 4 天前 | |
修改产品名 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 | 1 个月前 | |
fix(quant_matmul_activation_quant): 对齐 golden 并支持 NPU 拼接对比 Co-authored-by: smdbha<panzhijie2@huawei.com> # message auto-generated for no-merge-commit merge: !12747 merge master into master fix(quant_matmul_activation_quant): 对齐 golden 并支持 NPU 拼接对比 Created-by: smdbha Commit-by: smdbha Merged-by: cann-robot Description: ## 描述 修正 QuantMatmulActivationQuant 测试 golden 的 OCP 极小值处理:FP8/FP4 在 sharedExp 为零时清零,并对齐 GELU tanh 的常量及运算顺序。通过 CSV 补充量化指数边界回归。 为 Kernel、ACLNN 和 E2E 的 SiLU MXFP8 用例接入 --golden-mode NPU,使用 QBMM(FP32) → SiLU(FP32) → Cast(BF16) → DynamicMxQuant 进行精度及设备性能对比;默认继续使用 CPU golden。 ## 关联的Issue 关联 Issue [#7359](https://gitcode.com/cann/ops-nn/issues/7359) ## 测试 - CPU 定向检查通过:FP8 E4M3FN/E5M2、FP4 E2M1 的 OCP 极小值清零,以及 FP8 BLAS 行为保持一致。 - Python 语法、git diff --check 及提交钩子检查通过,包括 Ruff、codespell 和 OAT。 - 尚未执行 Ascend950 上的 Kernel UT、TTK ST 及性能采集。WeightNZ NPU 标杆需配合保留完整物理存储的 ops-test-kit 版本。 ## 文档更新 精简测试 README,补充三条 TTK 通路的使用方式、SiLU 拼接性能对比命令及结果字段说明。 ## 类型标签 - [x] Bug修复 - [x] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12747 | 3 天前 | |
fix matmul docs description Co-authored-by: zhengyuhao3<zhengyuhao3@huawei.com> # message auto-generated for no-merge-commit merge: !11672 merge master-fix_matmul_doc into master fix matmul docs description Created-by: zhengyuhao3 Commit-by: zhengyuhao3 Merged-by: cann-robot Description: ## 描述 修改matmul类算子文档中确定性的约束描述,调整为实际支持的产品型号 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/6469 ## 测试 文档改动,无需测试 ## 文档更新 aclnnFusedQuantMatmulWeightNz.md aclnnMatmulWeightNz.md aclnnMatmulCompress.md aclnnQuantMatmulV3.md aclnnQuantMatmulV4.md aclnnQuantMatmulDequant.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!11672 | 20 天前 | |
修复matmul算子Issue问题 Co-authored-by: zhengyuhao3<zhengyuhao3@huawei.com> # message auto-generated for no-merge-commit merge: !12639 merge master-fix_mm_issue into master 修复matmul算子Issue问题 Created-by: zhengyuhao3 Commit-by: zhengyuhao3 Merged-by: cann-robot Description: ## 描述 修复matmul算子接口文档与接口实现不一致问题(aclnnConvertWeightToINT4Pack、aclnnFusedQuantMatmul、aclnnFusedQuantMatmulWeightNz、aclnnQuantMatmulReduceSumWeightNz ) aclnnConvertWeightToINT4Pack:增加维度中包含0的空tensor拦截,接口补充weight和weightInt4Pack维度一致的校验 aclnnFusedQuantMatmul:修复文档描述,可选输入groupSizeOptional为数值类型,不支持空指针,应修改为传入0;修改接口校验规则,使用明确的161002(ACLNN_ERR_PARAM_INVALID)作为校验失败的返回; aclnnFusedQuantMatmulWeightNz:修改文档描述x2按逻辑shape声明,维度为2~6。不转置时为(batch,k,n),转置时为(batch,n,k),batch可不存在,实际内部存储才是4~8维; aclnnQuantMatmulReduceSumWeightNz :1. 修改文档描述,x2入参按逻辑shape声明为3维(batch, k, n),数据格式为NZ。(batch,n1,k1,k0,n0)是NZ内部存储排布;2. 在示例代码中补充调用 aclnnTransMatmulWeight,避免随机权重下静默算错 aclnnMv:修改接口校验拦截规则。1.cubeMathType=2 不支持 BF16,返回ACLNN_ERR_PARAM_INVALID;2. cubeMathType=3 仅支持 FLOAT32,其余类型返回ACLNN_ERR_PARAM_INVALID。3. self、vec、out的数据类型必须一致。空tensor也要校验,避免非法dtype被静默放行 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/7195 https://gitcode.com/cann/ops-nn/issues/7066 https://gitcode.com/cann/ops-nn/issues/7065 https://gitcode.com/cann/ops-nn/issues/7064 https://gitcode.com/cann/ops-nn/issues/7058 https://gitcode.com/cann/ops-nn/issues/7057 https://gitcode.com/cann/ops-nn/issues/7053 https://gitcode.com/cann/ops-nn/issues/7052 https://gitcode.com/cann/ops-nn/issues/7051 https://gitcode.com/cann/ops-nn/issues/6946 ## 测试 RDV执行通过 aclnnConvertWeightToINT4Pack验证结果:  aclnnFusedQuantMatmul验证结果:   ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12639 | 4 天前 | |
修改aclnn确定性开关 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !12749 merge master into master 修改aclnn确定性开关 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 1、修改aclnn确定性开关为aclrtSetSysParamOpt 2、修复删除查看源码后的多余空行 ## 关联的Issue 关联Issue [#7186](https://gitcode.com/cann/ops-nn/issues/7186) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12749 | 4 天前 | |
docs(quant_matmul_activation_quant): 支持表格直接复制到 Markdown Co-authored-by: smdbha<panzhijie2@huawei.com> # message auto-generated for no-merge-commit merge: !12815 merge master into master docs(quant_matmul_activation_quant): 支持表格直接复制到 Markdown Created-by: smdbha Commit-by: smdbha Merged-by: cann-robot Description: ## 描述 quant_matmul_activation_quant_proto.h 的两张约束表使用 * | ... | 形式,直接复制到 Markdown 文件后无法按表格识别。本次移除表格行及前后空行的注释星号,使表格可直接复制使用,并继续保留在 C++ 块注释内。 涉及数据类型组合表和 group_size 场景的类型、形状组合表,共 1 个文件;表格数据及算子注册代码保持一致。 ## 关联的Issue 关联 Issue:#7436 https://gitcode.com/cann/ops-nn/issues/7436 ## 测试 - 已核对两张表的列数、表头分隔线及修改前后的单元格内容。 - git diff --check 通过。 - 提交钩子检查通过,包括 clang-format、codespell 和 OAT。 - 本次为注释格式调整,未运行算子编译和设备测试。 ## 文档更新 更新 matmul/quant_matmul_activation_quant/op_graph/quant_matmul_activation_quant_proto.h 中两张表的 Markdown 格式。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!12815 | 3 天前 | |
feat: SparseTensorDenseMatMul 新增 ascend960dt 支持 Co-authored-by: chendunyang<chendunyang1@huawei.com> # message auto-generated for no-merge-commit merge: !11917 merge feat/ascend960dt-operator-support-20261013 into master feat: SparseTensorDenseMatMul 新增 ascend960dt 支持 Created-by: qq_37913898 Commit-by: chendunyang Merged-by: cann-robot Description: ## 描述 为 SparseTensorDenseMatMul 新增 ascend960dt 支持,复用现有 arch35 kernel 与 tiling。 - *_def.cpp 复用 950 的 AICore 配置,新增 960DT 注册。 - 新增 op_host/config/ascend960dt/sparse_tensor_dense_mat_mul_binary.json,与 950 配置保持一致。 - kernel CMake 的 COMPUTE_UNITS 增加 960DT,保留 AUTO_SYNC false 和 --cce-no-dcache-flush。 - 同步 ascendc_config.json 的平台列表及编译选项。 不改变现有 dtype 准入和 kernel/tiling 算法。配置方式参考已合入的 #11280。 ## 关联的Issue 未关联。 ## 测试 - 已撤销 QuantBatchMatmulInplaceAdd 配置删除,当前仅保留 SparseTensorDenseMatMul 适配提交 70d26ee22ebd16c36c791ed3b841a8ce39f926ab;重新触发 compile 后全部 70 个任务通过(含 pre-commit、编译、UT 和冒烟):https://gitcode.com/CANN/ops-nn/actions/runs/4160f1ac76cb4ff5bd4e264a09bfeab3 。 - JSON 语法、950/960DT 配置语义一致性及 git diff --check 已通过。 - 未进行本地编译或额外实机验证。 ## 文档更新 无。 ## 类型标签 - [x] 新特性 - [x] 其他:构建与平台配置 ## AI/Agent生成声明 - [x] AI辅助编写 See merge request: cann/ops-nn!11917 | 14 天前 | |
feat(matmul): tqbmm/tbmm 适配 ascend960pr Co-authored-by: huangkejie1647<huangkejie3@huawei.com> # message auto-generated for no-merge-commit merge: !12831 merge add_tqbmm_tbmm_960pr_support into master feat(matmul): tqbmm/tbmm 适配 ascend960pr Created-by: huangkejie1647 Commit-by: huangkejie1647 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 将 TransposeBatchMatMul(tqbmm 对应 TransposeQuantBatchMatMul)的 tiling 注册、算子定义配置与编译配置扩展到 DAV_9202(ascend960pr)架构,使 tbmm/tqbmm 两个算子在新增的 960pr 平台上可被调度与编译,同时同步更新了架构限制相关的报错信息。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#7467](https://gitcode.com/cann/ops-nn/issues/7467) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 出包无异常,验证不影响950功能 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!12831 | 2 天前 | |
feat(matmul): tqbmm/tbmm 适配 ascend960pr Co-authored-by: huangkejie1647<huangkejie3@huawei.com> # message auto-generated for no-merge-commit merge: !12831 merge add_tqbmm_tbmm_960pr_support into master feat(matmul): tqbmm/tbmm 适配 ascend960pr Created-by: huangkejie1647 Commit-by: huangkejie1647 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 将 TransposeBatchMatMul(tqbmm 对应 TransposeQuantBatchMatMul)的 tiling 注册、算子定义配置与编译配置扩展到 DAV_9202(ascend960pr)架构,使 tbmm/tqbmm 两个算子在新增的 960pr 平台上可被调度与编译,同时同步更新了架构限制相关的报错信息。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> [#7467](https://gitcode.com/cann/ops-nn/issues/7467) ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 出包无异常,验证不影响950功能 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!12831 | 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 | 1 个月前 | |
完善 WQBMMv2 在 Ascend960 上的数据类型声明 Co-authored-by: zhouhang96<zhouhang96@huawei.com> # message auto-generated for no-merge-commit merge: !12462 merge master into master 完善 WQBMMv2 在 Ascend960 上的数据类型声明 Created-by: zhouhang96 Commit-by: zhouhang96 Merged-by: cann-robot Description: ## 描述 完善 WQBMMv2 在 Ascend960 上的类型声明及组合,统一 Proto、OpDef 和 binary 配置。 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/7521 <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 冒烟测试50/50 <!--描述进行了哪些测试来验证你的改动。--> ## 文档更新 不涉及 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!12462 | 2 天前 | |
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 | 10 个月前 | |
gemvv3 Co-authored-by: szhexin<shangzhexin@huawei.com> # message auto-generated for no-merge-commit merge: !12690 merge gemvv3 into master gemvv3 Created-by: szhexin Commit-by: szhexin Merged-by: cann-robot Description: ## 描述 变更摘要 本 PR 新增 matmul 模块下的融合算子 ConfidenceHeadFused(confidence_head_fused),把“可选 markov_emb 拼接 → features @ weight + bias 投影 → 按 temperature 缩放 → clamp_low/clamp_high 截断 → sigmoid”整条置信度头计算融合为单个 kernel,避免中间结果落 GM。算子支持 2D/3D 输入、float16/bfloat16 特征与 float32 输出、可选 bias[N](跨 batch 广播)以及可选 temperature[1],仅注册在 ascend950/ascend350 平台。同时更新了算子仓库依赖的 ops-tensor 版本与地址,并修正 fused_mat_mul 中 sigmoid epilogue 的模板参数。 主要改动 新增算子原型与注册:confidence_head_fused_proto.h 与 confidence_head_fused_def.cpp 定义输入 hidden/weight(DT_FLOAT16、DT_BF16)、可选输入 markov_emb/temperature/bias、DT_FLOAT 输出 out,以及属性 clamp_low/clamp_high(默认 ±INT32_MAX 表示不截断),AICore 配置仅挂载 ascend950、ascend350。 新增 ACLNN 两段式接口:aclnn_confidence_head_fused.h/.cpp 提供 aclnnConfidenceHeadFusedGetWorkspaceSize 与 aclnnConfidenceHeadFused,包含 SoC 版本、dtype、rank、shape(含 weight 长度 = K1+K2、bias 长度 = N、维度上限 UINT32)、format(拒绝 FRACTAL_NZ)与 clamp 标量可转 FP32 的校验;confidence_head_fused.h/.cpp 提供 l0op::ConfidenceHeadFused 封装与输出 shape 推导。 新增 tiling 与 kernel 侧数据结构:confidence_head_fused_tiling.cpp/.h 完成平台信息校验(要求 AIC:AIV = 1:2)、L1/L0/UB 容量检查、按 bias 广播边界切分 tile 并写入 ConfidenceHeadFusedTilingData;confidence_head_fused_tiling_data.h 定义 params/cubeTiling 字段(n、kEmbed、kMarkov、hasBias、lowLimit 等);TilingKey 用 hasMarkov 区分 CONFIDENCE_HEAD_FUSED_NO_MARKOV 与 _WITH_MARKOV 两条模板分支。 新增 kernel 实现入口与 Torch 扩展:confidence_head_fused_kernel.h 按 tiling key 选择 A_FULL_LOAD_MODE 策略与 BlockEpilogueConfidenceHeadFused;torch_extension 侧新增 confidence_head_fused 的 schema、Meta 实现与 PrivateUse1 实现(含 clamp_low/clamp_high 可选标量),并在 matmul/__init__.py 中导出。 新增测试与示例:包含 ut/op_api 的 ACLNN 接口用例(可选输入组合、空输出、各类非法 shape/dtype/SoC)、ut/op_host 的 tiling 用例(bf16 3D + markov、空 reduction、UB/L1 不足、AIC:AIV 比例异常等),以及 kernel/aclnn/e2e 三级 Python golden 与 test_aclnn_confidence_head_fused.cpp 调用样例。 依赖与既有代码调整:cmake/third_party/ops-tensor.cmake 更新 OPTENSOR_TAG_ID 并将 HTTPS 地址改为个人仓库分支;fused_mat_mul_sigmoid_asw_basic.h 将 BlockEpilogueMatmulWithSigmoid 的模板实参由 (DispatchPolicy, ElementType) 简化为 (ElementType) <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。-->实现gemv+sigmoid的融合处理。 实现置信度头计算公式算子提高性能 features = hidden if markov_emb is None else cat([hidden, markov_emb], dim=-1) z = features @ weight + bias # bias为[N],缺省时为0 out = 1 / (1 + exp(min(max(-z / temperature, clamp_low), clamp_high))) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000-->Issue [#6666](https://gitcode.com/cann/ops-nn/issues/6666) ## 测试 <!--描述进行了哪些测试来验证你的改动。-->冒烟通过,本地验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul/confidence_head_fused/docs/aclnnConfidenceHeadFused.md matmul/confidence_head_fused/docs/torchapi_confidence_head_fused.md matmul/confidence_head_fused/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [x] AI辅助编写 See merge request: cann/ops-nn!12690 | 2 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 天前 | ||
| 4 天前 | ||
| 1 个月前 | ||
| 4 天前 | ||
| 2 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 2 天前 | ||
| 4 天前 | ||
| 1 个月前 | ||
| 2 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 21 天前 | ||
| 9 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 2 天前 | ||
| 4 天前 | ||
| 1 个月前 | ||
| 3 天前 | ||
| 20 天前 | ||
| 4 天前 | ||
| 4 天前 | ||
| 3 天前 | ||
| 14 天前 | ||
| 2 天前 | ||
| 2 天前 | ||
| 1 个月前 | ||
| 2 天前 | ||
| 10 个月前 | ||
| 2 天前 |