| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
GMM arch35相关代码进行 clang-format 格式整改 Co-authored-by: zhangzhizhuo<zhangzhizhuo1@huawei.com> # message auto-generated for no-merge-commit merge: !8883 merge fixformat into master GMM arch35相关代码进行 clang-format 格式整改 Created-by: zhangzhizhuo Commit-by: zhangzhizhuo Merged-by: cann-robot Description: ## 描述 本次 PR 对 GMM arch35相关代码进行 clang-format 格式整改,统一代码风格,减少后续 pre-commit 检查中的格式告警。 整改范围如下: - 完整整改 gmm/common/cgmct 目录下的 C/C++ 文件。 - 其他 GMM 算子仅整改 arch35 子目录下的文件。 - 不整改以下两个算子: - gmm/grouped_matmul_swiglu_quant - gmm/quant_grouped_matmul_dequant 所有修改均为 clang-format 产生的代码格式调整,不涉及功能逻辑、接口或算法变更。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/3797 ## 测试 gmm 类二级冒烟验证 ## 文档更新 不涉及文档更新。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [x] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8883 | 5 天前 | |
1,资料更新 Co-authored-by: lirh<lironghui4@huawei.com> # message auto-generated for no-merge-commit merge: !8426 merge aclnn_readme_0707 into master 1,资料更新 Created-by: lironghui4 Commit-by: lirh Merged-by: cann-robot Description: ## 描述 GMM资料修改,提升资料的可读性,易用性。 主要调整: 1,减少readme,跟aclnn接口重叠的内容,相关内容指引跳转到aclnn 2,aclnn资料,约束说明,按子场景查表 3,示例代码,采用索引方式,跳转到example目录下代码 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/2694 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8426 | 2 天前 | |
fix(gmmaq): print y dtype name instead of numeric value in error logs Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !8925 merge fix/gmmaq-y-dtype-log into master fix(gmmaq): print y dtype name instead of numeric value in error logs Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> grouped_matmul_activation_quant 算子在校验 y dtype 时,错误日志仅打印 dtype 的数值(如 0、36),用户无法直接识别传入的具体 dtype,排错困难。本次改动将三个入口的错误日志统一改为打印可读的 dtype 名称(如 FLOAT、FLOAT8_E4M3FN)。 改动内容: - gmm/.../aclnn_grouped_matmul_activation_quant_weight_nz.cpp:将 OP_LOGE_FOR_INVALID_VALUE_WITH_REASON 替换为 OP_LOGE_FOR_INVALID_DTYPE_WITH_REASON,并通过 op::ToString(static_cast<DataType>(effectiveYDtype)) 输出 dtype 名称。 - torch_extension/.../csrc/grouped_matmul_activation_quant.cpp:新增 GetDtypeName(int64_t dtype),将 GE dtype 数值映射为可读名称(FLOAT / FLOAT8_E5M2 / FLOAT8_E4M3FN / FLOAT8_E8M0 / FLOAT4_E2M1 / FLOAT4_E1M2 / UNKNOWN);GetYScalarType 中的 TORCH_CHECK 改用 GetDtypeName(yDtype)。 - torch_extension/.../grouped_matmul_activation_quant.py:新增 GE_DTYPE_FLOAT4_E2M1=40、GE_DTYPE_FLOAT4_E1M2=41 常量与 _GE_DTYPE_TO_NAME 字典;_to_torch_dtype 的 TypeError 改用 dtype 名称。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #3854 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 传入非法 y_dtype(如 FLOAT / FLOAT8_E8M0 / FLOAT4_E2M1)触发校验失败,确认三类入口(aclnn op_api、torch_extension C++、torch_extension Python)的错误信息均打印可读 dtype 名称而非数值。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8925 | 2 天前 | |
docs下基本概念文件名从中文改为英文+同时修改link Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !9042 merge master into master docs下基本概念文件名从中文改为英文+同时修改link Created-by: gitcode-chenjiao Commit-by: chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3899](https://gitcode.com/cann/ops-transformer/issues/3899) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9042 | 3 天前 | |
fix(gmm): update gmm finalize routing document constraints Co-authored-by: zhangzhizhuo<zhangzhizhuo1@huawei.com> # message auto-generated for no-merge-commit merge: !9036 merge fixgmmfrdoc into master fix(gmm): update gmm finalize routing document constraints Created-by: zhangzhizhuo Commit-by: zhangzhizhuo Merged-by: cann-robot Description: ## 描述 补充 GroupedMatmulFinalizeRouting 算子在 Ascend 950PR/Ascend 950DT 场景下共享专家输入的约束说明。 具体改动如下: - 明确 shareInputLen 表示 sharedInput(或 sharedInputOptional)的第一维长度。 - 明确 sharedInputOffset、shareInputLen 以及两者之和均需小于等于输出 out 的第一维 batch。 - 同步更新 V3 和 WeightNzV2 接口文档,保证两个接口的约束描述一致。 ## 关联的Issue [#3898](https://gitcode.com/cann/ops-transformer/issues/3898) ## 测试 本次改动仅涉及资料文档,不涉及算子实现,无需进行算子功能及性能测试。 已完成以下检查: - 检查两份文档中的约束描述及参数名称。 - 检查新增内容仅位于 Ascend 950PR/Ascend 950DT 产品约束下。 - 执行 git diff --check,未发现格式问题。 ## 文档更新 更新以下接口文档: - gmm/grouped_matmul_finalize_routing/docs/aclnnGroupedMatmulFinalizeRoutingV3.md - gmm/grouped_matmul_finalize_routing/docs/aclnnGroupedMatmulFinalizeRoutingWeightNzV2.md ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9036 | 3 天前 | |
docs下基本概念文件名从中文改为英文+同时修改link Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !9042 merge master into master docs下基本概念文件名从中文改为英文+同时修改link Created-by: gitcode-chenjiao Commit-by: chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3899](https://gitcode.com/cann/ops-transformer/issues/3899) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9042 | 3 天前 | |
fix(gmmsqv2): correct A8W4/A4W4 per-group output shape on WeightNZ path Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !8826 merge debug/gmmswigluquantv2-post7302-cout into master fix(gmmsqv2): correct A8W4/A4W4 per-group output shape on WeightNZ path Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> grouped_matmul_swiglu_quant_v2 算子在 A8W4/A4W4 per-group 量化、WeightNZ 路径下输出 shape 计算错误。根因:per-group 的 weightScale 为 3D([E, KGroup, N]),与 MX multi-weight scale rank 相同,旧代码用 weightScaleDimNum 判断 isMxShape 时将 per-group 误判为 MX 场景,导致 N 维索引取错、输出 [M, N/2] 计算错误。 改动内容: - op_host/grouped_matmul_swiglu_quant_v2_infershape.cpp:isMxShape 判定去掉 weightScaleDimNum == MX_SINGLE/MULTI_WEIGHT_SCALE_DIM 的 rank 判断,仅保留 quantMode == QUANT_MODE_MX_TYPE。 - op_api/grouped_matmul_swiglu_quant_v2.cpp:n 改取 weightScale 末维 GetDim(weightScaleDimNum - 1),兼容 2D [E,N] 与 3D [E,KGroup,N];DAV_3510 路径新增 quantMode == QUANT_MODE_PERTOKEN 分支,perToken 下 N 恒取末维(per-channel [E,N]、per-group [E,KGroup,N] 末维均为 N,不受 transposeWeight 影响),MX 保留原 transpose 逻辑。新增 QUANT_MODE_PERTOKEN=0 常量。 - op_api/aclnn_..._weight_nz.cpp、op_api/..._utils.h:新增 std::cout 调试日志,追踪 post-7302 路径 WeightNz API 入口、weight 处理前后 shape/format 与 CheckPerToken 前后状态,便于定位问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> #3885 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 新增 UT 用例: - op_api:ascend910b_a8w4_weightnz_single_pergroup_path(Ascend910B,A8W4 WeightNzV2 per-group,期望成功)。 - infershape:test_infershape_a8w4_weightnz_pergroup(Ascend910B,A8W4 WeightNZ per-group,19:32 输入,FRACTAL_NZ weight,per-group 256:64:64 weightScale,期望正常推导)。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8826 | 2 天前 | |
docs下基本概念文件名从中文改为英文+同时修改link Co-authored-by: chenjiao<chenjiao31@huawei.com> # message auto-generated for no-merge-commit merge: !9042 merge master into master docs下基本概念文件名从中文改为英文+同时修改link Created-by: gitcode-chenjiao Commit-by: chenjiao Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> docs目录基本概念md文件名改为英文: 避免link中的中文字符引发的跳转异常,例如两段式接口.md变成%E4%B8%A4%E6%AE%B5%E5%BC%8F%E6%8E%A5%E5%8F%A3.md,不易于维护,可能导致其他平台跳转有问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> [#3899](https://gitcode.com/cann/ops-transformer/issues/3899) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ok ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> docs/zh/context所有md和对应的link ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!9042 | 3 天前 | |
fix: gmm类算子红线问题整改——空指针检查、整数溢出防护及除零保护 Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !8584 merge 0710 into master fix: gmm类算子红线问题整改——空指针检查、整数溢出防护及除零保护 Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 对 GMM 类算子(grouped_matmul、grouped_matmul_finalize_routing、grouped_matmul_swiglu_quant_v2、quant_grouped_matmul_inplace_add)进行红线问题整改,涉及 29 个文件,主要包括: 1. **空指针检查补齐**:将 CreateContiguousTensorList / CreateContiguousTensorListForPertoken / CreateContiguousTensorListForMXTypeMScale 从 void 改为返回 bool;将 SetTransposedScaleTensorListContiguous / SetTransposedTensorListContiguous / SetTransViewShape 从 void 改为返回 aclnnStatus;PrepareAclTensor / PrepareOutputTensor 从 void 改为返回 bool/graphStatus。调用方通过 CHECK_RET 检查 AllocTensor / AllocTensorList / CreateView 返回值,防止空指针解引用。 2. **整数溢出防护**:grouped_matmul_a4w4.h 中偏移量计算添加 static_cast<uint64_t>;grouped_matmul_swiglu_quant_spilit_fusion.h 中 globalMOffset 从 uint32_t 改为 uint64_t。 3. **除零保护**:quant_utils.h 添加 GetTaskRation() 返回值为零检查;ProcessDSQ 添加 vectorBlockDim / calcCount 为零检查;CalMaxRowInUb / CalMaxRowInUbA8W4 添加 n 为零检查。 4. **属性类型修正**:grouped_matmul_finalize_routing 中 SHARED_INPUT_OFFSET 和 BATCH 属性从 GetAttrPointer<int> 改为 GetAttrPointer<int64_t> 并添加 uint32 范围校验;output_bs 同步修正。 5. **维度校验补齐**:IsPerTileQuantMode 添加 xDimNum / weightDimNum 下界检查及 groupListDimNum==0 检查;SetTransViewShape 添加 viewShapeDimsNum>=2 校验。 6. **变量引用修复**:quant_grouped_matmul_inplace_add_tiling_utils.cpp 中 wScaleKDim 错误使用 x1ScaleShape,修正为 x2ScaleShape。 7. **输入校验前移**:多个 GetWorkspaceSize 函数入口添加 OP_CHECK_COMM_INPUT(workspaceSize, executor) 及 out / outputScale 非空检查。 8. **API 规范化**:tiling 层 GetDynamicInputTensor 改为 GetDynamicInputShape(仅需 shape 时避免获取完整 tensor);blockIdx 重命名为 blockIndex_ 避免与平台 API 名称冲突。 ## 关联的Issue #3707 ## 测试 - 二级冒烟测试:对四个算子执行基本功能冒烟验证,确认整改未引入功能回归。 - 算子泛化:覆盖不同 dtype(FP16/BF16/INT8/FLOAT8_E8M0 等)、不同 shape(含极端 shape)、不同量化模式(perChannel/perGroup/Mx)的场景。 ## 文档更新 无 ## 类型标签 - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8584 | 3 天前 | |
同步GMM代码 Co-authored-by: Hu1L1<chenshujian5@huawei.com> # message auto-generated for no-merge-commit merge: !546 merge move_all into master 同步GMM代码 Created-by: Hu1L1 Commit-by: Hu1L1 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!546 | 6 个月前 |