| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
修复sk单核切k尾块计算问题 Co-authored-by: gaozheng<gaozheng16@huawei.com> # message auto-generated for no-merge-commit merge: !7393 merge sk_aicore_repair into 9.1.0 修复sk单核切k尾块计算问题 Created-by: pzyy00 Commit-by: gaozheng Merged-by: cann-robot Description: ## 描述 sk单核切k的basicapi模板存在尾核越界问题,只有在尾核的skSingleCore小于1024且其余核的skSingleCoreK大于或等于1024才会触发。针对sk模板切出的skSingleCoreK的非固定问题,将切k的标识位从block schedule层的初始化赋值改为针对realSingleCoreK_的比较进行设置 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4064 ## 测试 本地验证精度通过 ## 文档更新 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!7393 | 1 个月前 | |
商分修复:RotateQuant算子在输入为sunnormal numbers数据范围时存在精度问题 Co-authored-by: yushan-kite<zhangyushan11@huawei.com> # message auto-generated for no-merge-commit merge: !6864 merge 9.1.0 into 9.1.0 商分修复:RotateQuant算子在输入为sunnormal numbers数据范围时存在精度问题 Created-by: yushan-kite Commit-by: yushan-kite Merged-by: cann-robot Description: ## 描述 修改RotateQuant算子对于subnormal的处理逻辑,合入商分 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3757 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> aclnnFuzz测试门槛用例精度pass ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## AI/Agent生成声明 <!-- [x] 表示选中 --> - [ ] AI辅助编写 See merge request: cann/ops-nn!6864 | 1 个月前 | |
修复sk单核切k尾块计算问题 Co-authored-by: gaozheng<gaozheng16@huawei.com> # message auto-generated for no-merge-commit merge: !7393 merge sk_aicore_repair into 9.1.0 修复sk单核切k尾块计算问题 Created-by: pzyy00 Commit-by: gaozheng Merged-by: cann-robot Description: ## 描述 sk单核切k的basicapi模板存在尾核越界问题,只有在尾核的skSingleCore小于1024且其余核的skSingleCoreK大于或等于1024才会触发。针对sk模板切出的skSingleCoreK的非固定问题,将切k的标识位从block schedule层的初始化赋值改为针对realSingleCoreK_的比较进行设置 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/4064 ## 测试 本地验证精度通过 ## 文档更新 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!7393 | 1 个月前 | |
FusedMatMul MM支持Add/Mul全模板, BASIC模板支持Gelu ,K = 0 泛化 Co-authored-by: LiWeiJian16<liweijian16@huawei.com> Co-authored-by: Nam_John<jiangnan59@huawei.com> Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> Co-authored-by: LAIM321<laiming2@huawei.com> Co-authored-by: TLE_xtx<xiaotianxiang@h-partners.com> # message auto-generated for no-merge-commit merge: !5486 merge fmm_mix into master FusedMatMul MM支持Add/Mul全模板, BASIC模板支持Gelu ,K = 0 泛化 Created-by: TLE_xtx Commit-by: TLE_xtx;LiWeiJian16;liweijian16;gitcode-chenjiao;LAIM321;Nam_John Merged-by: cann-robot Description: ## 描述 本MR为FusedMatMul算子实现了GELU(ERF和TANH)多种Fusion模式从高层API到BASIC API的全面迁移与扩展,Add和Mul的全模板支持以及当K=0时Add/Mul/Gelu的支持,目标平台为Ascend 950(DAV_3510)。主要变更: Kernel层:新增fused_mat_mul_gelu_basic_cmct.h模板内核;新增fused_mat_mul_input_k_eq_zero_copy_x3.h;重构fused_mat_mul.cpp入口函数,移除旧高层API GELU分支,Add/Mul从原单一模板扩展为完整多路径分发,新增K=0分支 Epilogue层:block_epilogue_elementwise.h新增RunFromWorkspace方法,新增operator()重载支持workspace通路;新增block_epilogue_fixpipe_fusion.h,block_epilogue_streamk_fusion.h MMAD层:block_mmad_pingpong_without_que.h重构DoubleCopyOut为TwoFixpipe/DualSplitM双路径分发,GELU时dstStride按fp16 C0对齐;修正LocalTensor构造参数从SIZE改为SIZE/sizeof(T) Kernel框架层:kernel_matmul_mix_without_que.h新增workspace通路,kernel_matmul_streamk.h重构Arguments/Params结构,新增x3GmAddr传递,BlockEpilogue通过Selector静态选择 Tiling层:fused_matmul_asw_basic_tiling.cpp新增small-N优化、GM workspace分配、B_FULL_LOAD depth计算;fused_matmul_builtin_tiling.cpp新增GELU dtype守卫、GELU+bias拒绝、batch维度校验;fused_matmul_k_equal_zero_tiling.cpp扩展K=0支持范围; Host层:aclnn_fused_matmul.cpp扩展空tensor支持范围;新增CheckGeluBatchShape前置校验 mat_mul_v3 Kernel层:Add/Mul时BlockEpilogue特化为BlockEpilogueFixpipeFusion,新增x3GM参数;mat_mul_streamk_basic_cmct.h同样新增Selector机制,Add/Mul时BlockEpilogue特化为BlockEpilogueStreamKFusion,新增x3GmAddr传递 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3084 https://gitcode.com/cann/ops-nn/issues/2960 ## 测试 - [x] 自测用例 - [x] 门槛用例 - [x] 二级冒烟 - [x] UT ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5486 | 2 个月前 | |
qbmm mxA8W4 supports k % 8 == 0 Co-authored-by: yuanshuai000<yuanshuai70@huawei.com> # message auto-generated for no-merge-commit merge: !5439 merge qbmm_mxa8w4_k_8_align into master qbmm mxA8W4 supports k % 8 == 0 Created-by: yuanshuai000 Commit-by: yuanshuai000 Merged-by: cann-robot Description: ## 描述 quant_batch_matmul_v4算子mxA8W4支持k方向8对齐 涉及数据类型:x1 float8_e4m3 , x2 float4_e2m1 , x1_scale float8_e8m0 , x2_scale float8_e8m0 涉及format场景:ND、NZ均包含 量化模式:mx量化(T-CG量化不变更) 修改点: 1. aclnn通路中放宽k方向约束,并且将T-CG量化和MX量化分开校验,MX场景k方向8对齐,T-CG场景仍32对齐 2. tiling逻辑不变更,仅修改校验及k方向对齐 3. kernel逻辑不变更,当k维度非32对齐时在正确位置补0至32对齐。 3.1 L1中已有补0逻辑,需要正确处理补0时的偏移到32对齐 3.2 AIV中weight反量化处理中,需要将regbase中和k相关的偏移都32对齐 4. 修改错误的tiling data注册。 ## 关联的Issue https://gitcode.com/cann/ops-nn/issues/2760 ## 测试 1. 本地验证用例通过,用例覆盖k方向8对齐随机泛化,测试情况如下 用例类型 | 通过数/用例数 | ---- | ---- | 门槛用例 | 90/90 | 白盒用例 | 58/58 | 泛化用例 | 200/200 | 兼容性用例 | 73/73 | 2. CI冒烟通过 ## 文档更新 更新了aclnn文档: - matmul/quant_batch_matmul_v3/docs/aclnnQuantMatmulWeightNz.md - matmul/quant_batch_matmul_v4/docs/aclnnQuantMatmulV5.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5439 | 2 个月前 | |
matmul: replace include guards with #pragma once in common headers Co-authored-by: chenqi317<chenqi317@huawei.com> # message auto-generated for no-merge-commit merge: !3501 merge master into master matmul: replace include guards with #pragma once in common headers Created-by: chenqi317 Commit-by: chenqi317 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> matmul/batch_mat_mul_v3/op_host/op_tiling/arch35/batch_matmul_v3_tiling_strategy.h matmul/common/cmct/block/block_mmad_a8w8_fixpipe_quant.h 等头文件的 OP_HOST_BATCH_MATMUL_V3_TILING_STRATEGY_H 、BLOCK_MMAD_A8W8_FIXPIPE_QUANT_H等头文件宏较混乱,格式不统一 且容易冲突,因此改为使用#pragma once ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2088 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> UT,ST 网络用例验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!3501 | 4 个月前 | |
FusedMatMul MM支持Add/Mul全模板, BASIC模板支持Gelu ,K = 0 泛化 Co-authored-by: LiWeiJian16<liweijian16@huawei.com> Co-authored-by: Nam_John<jiangnan59@huawei.com> Co-authored-by: gitcode-chenjiao<chenjiao31@huawei.com> Co-authored-by: LAIM321<laiming2@huawei.com> Co-authored-by: TLE_xtx<xiaotianxiang@h-partners.com> # message auto-generated for no-merge-commit merge: !5486 merge fmm_mix into master FusedMatMul MM支持Add/Mul全模板, BASIC模板支持Gelu ,K = 0 泛化 Created-by: TLE_xtx Commit-by: TLE_xtx;LiWeiJian16;liweijian16;gitcode-chenjiao;LAIM321;Nam_John Merged-by: cann-robot Description: ## 描述 本MR为FusedMatMul算子实现了GELU(ERF和TANH)多种Fusion模式从高层API到BASIC API的全面迁移与扩展,Add和Mul的全模板支持以及当K=0时Add/Mul/Gelu的支持,目标平台为Ascend 950(DAV_3510)。主要变更: Kernel层:新增fused_mat_mul_gelu_basic_cmct.h模板内核;新增fused_mat_mul_input_k_eq_zero_copy_x3.h;重构fused_mat_mul.cpp入口函数,移除旧高层API GELU分支,Add/Mul从原单一模板扩展为完整多路径分发,新增K=0分支 Epilogue层:block_epilogue_elementwise.h新增RunFromWorkspace方法,新增operator()重载支持workspace通路;新增block_epilogue_fixpipe_fusion.h,block_epilogue_streamk_fusion.h MMAD层:block_mmad_pingpong_without_que.h重构DoubleCopyOut为TwoFixpipe/DualSplitM双路径分发,GELU时dstStride按fp16 C0对齐;修正LocalTensor构造参数从SIZE改为SIZE/sizeof(T) Kernel框架层:kernel_matmul_mix_without_que.h新增workspace通路,kernel_matmul_streamk.h重构Arguments/Params结构,新增x3GmAddr传递,BlockEpilogue通过Selector静态选择 Tiling层:fused_matmul_asw_basic_tiling.cpp新增small-N优化、GM workspace分配、B_FULL_LOAD depth计算;fused_matmul_builtin_tiling.cpp新增GELU dtype守卫、GELU+bias拒绝、batch维度校验;fused_matmul_k_equal_zero_tiling.cpp扩展K=0支持范围; Host层:aclnn_fused_matmul.cpp扩展空tensor支持范围;新增CheckGeluBatchShape前置校验 mat_mul_v3 Kernel层:Add/Mul时BlockEpilogue特化为BlockEpilogueFixpipeFusion,新增x3GM参数;mat_mul_streamk_basic_cmct.h同样新增Selector机制,Add/Mul时BlockEpilogue特化为BlockEpilogueStreamKFusion,新增x3GmAddr传递 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3084 https://gitcode.com/cann/ops-nn/issues/2960 ## 测试 - [x] 自测用例 - [x] 门槛用例 - [x] 二级冒烟 - [x] UT ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及文档更新 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5486 | 2 个月前 |