| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
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 | 10 天前 | |
docs(gmm): 更新 GroupedMatmulActivationQuantWeightNz 资料并新增 arch35 示例 Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !8381 merge 0706ziliao into master docs(gmm): 更新 GroupedMatmulActivationQuantWeightNz 资料并新增 arch35 示例 Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 本 PR 对 grouped_matmul_activation_quant 算子(aclnnGroupedMatmulActivationQuantWeightNz,weight 以 FRACTAL_NZ 格式存储版本)的资料进行全面更新与完善。 **改动原因:** - 变量命名不统一(groupList/xScale 等驼峰命名与实际接口参数不一致),需统一为下划线风格 - 参数说明缺少维度(shape)信息,且 tuning_config/y_dtype/round_mode/scale_alg/dst_type_max 等属性未在 README 中列出 - 算子未登记到 op_api_list/op_list/torch_api_list 公共文档列表,不便于检索 - 缺少 arch35(Ascend 950PR/Ascend 950DT)平台的端到端 aclnn 调用示例 **改动方法:** - 重写 README.md:参数说明由 HTML table 改为 Markdown 表格并新增"维度(shape)"列,公式改用 LaTeX,约束说明统一变量命名与反引号标注 - 重写 aclnnGroupedMatmulActivationQuantWeightNz.md 算子详细文档 - 新增 examples/arch35/test_aclnn_grouped_matmul_activation_quant_weight_nz.cpp,提供两段式 aclnn 调用示例(aclInit → GetWorkspaceSize → Run → Finalize) - 修正 op_api/aclnn_grouped_matmul_activation_quant_weight_nz.h 参数说明措辞(去掉"默认值为"表述,改为"支持/按…处理") - 在 docs/zh/op_api_list.md、docs/zh/op_list.md、docs/zh/torch_api_list.md 中登记算子条目 - 更新 torch_extension/cann_ops_transformer/docs/zh/grouped_matmul_activation_quant.md,补充确定性计算与调用说明段 ## 关联的Issue 关联 Issue #3653 ## 测试 - 新增 arch35 示例 test_aclnn_grouped_matmul_activation_quant_weight_nz.cpp,覆盖两段式 aclnn 完整调用流程(初始化、Workspace 申请、算子执行、资源释放) ## 文档更新 - gmm/grouped_matmul_activation_quant/README.md:重写参数说明/约束说明,统一命名与公式格式 - gmm/grouped_matmul_activation_quant/docs/aclnnGroupedMatmulActivationQuantWeightNz.md:重写算子详细文档 - torch_extension/cann_ops_transformer/docs/zh/grouped_matmul_activation_quant.md:补充确定性计算与调用说明 - docs/zh/op_api_list.md、docs/zh/op_list.md、docs/zh/torch_api_list.md:登记算子到公共列表 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8381 | 25 天前 | |
Add GroupedMatmulActivationQuant aclnn torch path Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !8089 merge gmmaq-zsl into master Add GroupedMatmulActivationQuant aclnn torch path Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增算子 GroupedMatmulActivationQuant的torch和aclnn通路,支持分组矩阵乘后接激活函数(GELU-Tanh)及 MX 量化输出。 该算子基于 GroupedMatmul 扩展,在分组矩阵乘计算完成后,依次执行: 1. **激活函数**:GELU-Tanh 2. **量化**:将 FP32/BF16 中间结果量化为 FP8(E4M3FN 或 E5M2) 3. **输出**:量化后的数据 + FP8 E8M0 scale ### 主要特性 - **数据类型**:输入 x为 FP8 E5M2 或 FP8 E4M3FN,weight 为 FP8 E4M3FN,scale 为 FP8 E8M0 - **输出类型**:支持 FP8 E4M3FN / E5M2(通过 y_dtype attr 配置) - **分组模式**:仅支持 SPLIT_M(M 轴分组) - **Weight 格式**:强制 FRACTAL_NZ 格式 - **量化模式**:MX per-group 量化 - **舍入模式**:RINT - **Scale 算法**:支持 OCP / CUBLAS 两种算法(通过 scale_alg attr 配置) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/3505 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 算子泛化+二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> gmm/grouped_matmul_activation_quant/README.md gmm/grouped_matmul_activation_quant/docs/aclnnGroupedMatmulActivationQuantWeightNz.md torch_extension/cann_ops_transformer/docs/zh/grouped_matmul_activation_quant.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8089 | 27 天前 | |
Add GroupedMatmulActivationQuant aclnn torch path Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !8089 merge gmmaq-zsl into master Add GroupedMatmulActivationQuant aclnn torch path Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增算子 GroupedMatmulActivationQuant的torch和aclnn通路,支持分组矩阵乘后接激活函数(GELU-Tanh)及 MX 量化输出。 该算子基于 GroupedMatmul 扩展,在分组矩阵乘计算完成后,依次执行: 1. **激活函数**:GELU-Tanh 2. **量化**:将 FP32/BF16 中间结果量化为 FP8(E4M3FN 或 E5M2) 3. **输出**:量化后的数据 + FP8 E8M0 scale ### 主要特性 - **数据类型**:输入 x为 FP8 E5M2 或 FP8 E4M3FN,weight 为 FP8 E4M3FN,scale 为 FP8 E8M0 - **输出类型**:支持 FP8 E4M3FN / E5M2(通过 y_dtype attr 配置) - **分组模式**:仅支持 SPLIT_M(M 轴分组) - **Weight 格式**:强制 FRACTAL_NZ 格式 - **量化模式**:MX per-group 量化 - **舍入模式**:RINT - **Scale 算法**:支持 OCP / CUBLAS 两种算法(通过 scale_alg attr 配置) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/3505 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 算子泛化+二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> gmm/grouped_matmul_activation_quant/README.md gmm/grouped_matmul_activation_quant/docs/aclnnGroupedMatmulActivationQuantWeightNz.md torch_extension/cann_ops_transformer/docs/zh/grouped_matmul_activation_quant.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8089 | 27 天前 | |
Add GroupedMatmulActivationQuant aclnn torch path Co-authored-by: zhoushaolong<zhoushaolong3@huawei.com> # message auto-generated for no-merge-commit merge: !8089 merge gmmaq-zsl into master Add GroupedMatmulActivationQuant aclnn torch path Created-by: zhoushaolong Commit-by: zhoushaolong Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增算子 GroupedMatmulActivationQuant的torch和aclnn通路,支持分组矩阵乘后接激活函数(GELU-Tanh)及 MX 量化输出。 该算子基于 GroupedMatmul 扩展,在分组矩阵乘计算完成后,依次执行: 1. **激活函数**:GELU-Tanh 2. **量化**:将 FP32/BF16 中间结果量化为 FP8(E4M3FN 或 E5M2) 3. **输出**:量化后的数据 + FP8 E8M0 scale ### 主要特性 - **数据类型**:输入 x为 FP8 E5M2 或 FP8 E4M3FN,weight 为 FP8 E4M3FN,scale 为 FP8 E8M0 - **输出类型**:支持 FP8 E4M3FN / E5M2(通过 y_dtype attr 配置) - **分组模式**:仅支持 SPLIT_M(M 轴分组) - **Weight 格式**:强制 FRACTAL_NZ 格式 - **量化模式**:MX per-group 量化 - **舍入模式**:RINT - **Scale 算法**:支持 OCP / CUBLAS 两种算法(通过 scale_alg attr 配置) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/3505 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 算子泛化+二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> gmm/grouped_matmul_activation_quant/README.md gmm/grouped_matmul_activation_quant/docs/aclnnGroupedMatmulActivationQuantWeightNz.md torch_extension/cann_ops_transformer/docs/zh/grouped_matmul_activation_quant.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8089 | 27 天前 |