| TQBMM算子支持x2的NZ输入 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !4759 merge tqbmm_nz into master TQBMM算子支持x2的NZ输入 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> TransposeQuantBatchMatmul(tqbmm)算子当前仅支持 ND(NCHW/NHWC)格式的输入张量。在实际训练与推理场景中,权重矩阵(x2)常常以 NZ(Fractal NZ)格式存储,以适配硬件加速器的内存布局,从而避免额外的格式转换开销。 当前路径中,若 x2 为 NZ 格式,需要先转换为 ND 格式再调用算子,增加了显存占用与调度延迟。本迭代目标是让 tqbmm 算子直接支持 x2 的 NZ 输入格式,并在 图模式通路 中打通完整链路,避免不必要的 transdata 节点插入,提升端到端性能。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2850 ## 测试 <!--描述进行了哪些测试来验证你的改动。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul\transpose_batch_mat_mul\docs\aclnnTransposeBatchMatMul.md matmul\transpose_batch_mat_mul\docs\aclnnTransposeBatchMatMulWeightNZ.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4759 | 1 个月前 |
| sc清理 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !5854 merge sc_clean into master sc清理 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 对当前ops-nn仓中matmul算子的告警信息进行清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3236 ## 测试 <!--描述进行了哪些测试来验证你的改动。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5854 | 21 天前 |
| 【Matmul】合并ACLNN中的ARCH判断 Co-authored-by: 林鹏翔<linpengxiang1@hisilicon.com> # message auto-generated for no-merge-commit merge: !5705 merge tiling into master 【Matmul】合并ACLNN中的ARCH判断 Created-by: LinPX Commit-by: 林鹏翔 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 当前aclnn接口中需要根据不同的平台信息展开不同的处理,这类平台信息的判断零散的分布在多个文件中,导致新增平台时存在霰弹式修改,容易修改遗漏。 本次修改将950系列的ARCH判断收敛,为后续扩建打好基础。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> 代码结构优化,不涉及issue ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 完成冒烟验证 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [x] 其他,请描述:代码整改优化 See merge request: cann/ops-nn!5705 | 21 天前 |
| TQBMM算子支持x2的NZ输入 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !4759 merge tqbmm_nz into master TQBMM算子支持x2的NZ输入 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> TransposeQuantBatchMatmul(tqbmm)算子当前仅支持 ND(NCHW/NHWC)格式的输入张量。在实际训练与推理场景中,权重矩阵(x2)常常以 NZ(Fractal NZ)格式存储,以适配硬件加速器的内存布局,从而避免额外的格式转换开销。 当前路径中,若 x2 为 NZ 格式,需要先转换为 ND 格式再调用算子,增加了显存占用与调度延迟。本迭代目标是让 tqbmm 算子直接支持 x2 的 NZ 输入格式,并在 图模式通路 中打通完整链路,避免不必要的 transdata 节点插入,提升端到端性能。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2850 ## 测试 <!--描述进行了哪些测试来验证你的改动。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul\transpose_batch_mat_mul\docs\aclnnTransposeBatchMatMul.md matmul\transpose_batch_mat_mul\docs\aclnnTransposeBatchMatMulWeightNZ.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4759 | 1 个月前 |
| sc清理 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !5854 merge sc_clean into master sc清理 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 对当前ops-nn仓中matmul算子的告警信息进行清理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3236 ## 测试 <!--描述进行了哪些测试来验证你的改动。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5854 | 21 天前 |
| TQBMM算子支持x2的NZ输入 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !4759 merge tqbmm_nz into master TQBMM算子支持x2的NZ输入 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> TransposeQuantBatchMatmul(tqbmm)算子当前仅支持 ND(NCHW/NHWC)格式的输入张量。在实际训练与推理场景中,权重矩阵(x2)常常以 NZ(Fractal NZ)格式存储,以适配硬件加速器的内存布局,从而避免额外的格式转换开销。 当前路径中,若 x2 为 NZ 格式,需要先转换为 ND 格式再调用算子,增加了显存占用与调度延迟。本迭代目标是让 tqbmm 算子直接支持 x2 的 NZ 输入格式,并在 图模式通路 中打通完整链路,避免不必要的 transdata 节点插入,提升端到端性能。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/2850 ## 测试 <!--描述进行了哪些测试来验证你的改动。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul\transpose_batch_mat_mul\docs\aclnnTransposeBatchMatMul.md matmul\transpose_batch_mat_mul\docs\aclnnTransposeBatchMatMulWeightNZ.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!4759 | 1 个月前 |
| batchMatmul基础模板及broadCast场景kernel实现切换tensorApi实现 Co-authored-by: y00943198<yangtao363@huawei.com> # message auto-generated for no-merge-commit merge: !5087 merge master into master batchMatmul基础模板及broadCast场景kernel实现切换tensorApi实现 Created-by: AlbertYoung192 Commit-by: y00943198 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 1、950 batchmatmul 基础模板以及广播场景切换tensor_api实现 2、使用tensor_api实现kernel,不需要再手动计算每个指令的输入,使用切分的方式去表达每一轮计算的数据,更易理解kernel实现原理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3040 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 1、冒烟用例通过 2、门槛用例功能精度PASS,性能与当前主线持平 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5087 | 29 天前 |
| 新增TransposeQuantBatchMatmul算子,适配transpose+quant_batch_matmul+transpose场景 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !1136 merge tqbmm into master 新增TransposeQuantBatchMatmul算子,适配transpose+quant_batch_matmul+transpose场景 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 新增算子TransposeQuantBatchMatMul,支持TBMM的fp8输入,开放aclnn通路和torch单算子直调 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-nn/issues/608 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟,本地自验证 ### 测试用例 int32_t M = 32; int32_t K = 512; int32_t N = 128; int32_t Batch = 16; std::vector<int64_t> x1Shape = {M, Batch, K}; std::vector<int64_t> x2Shape = {Batch, K, N}; std::vector<int64_t> x1ScaleShape = {M}; std::vector<int64_t> x2ScaleShape = {N}; std::vector<int64_t> outShape = {M, Batch, N}; std::vector<int64_t> permX1Series = {1, 0, 2}; std::vector<int64_t> permX2Series = {0, 1, 2}; std::vector<int64_t> permYSeries = {1, 0, 2}; void* x1DeviceAddr = nullptr; void* x2DeviceAddr = nullptr; void* x1ScaleDeviceAddr = nullptr; void* x2ScaleDeviceAddr = nullptr; void* outDeviceAddr = nullptr; aclTensor* x1 = nullptr; aclTensor* x2 = nullptr; aclTensor* x1Scale = nullptr; aclTensor* x2Scale = nullptr; aclTensor* out = nullptr; std::vector<int8_t> x1HostData(GetShapeSize(x1Shape), 0x38); std::vector<int8_t> x2HostData(GetShapeSize(x2Shape), 0x38); std::vector<float> x1ScaleHostData(GetShapeSize(x1ScaleShape), 1); std::vector<float> x2ScaleHostData(GetShapeSize(x2ScaleShape), 1); std::vector<uint16_t> outHostData(GetShapeSize(outShape), 0); // bf16 ### 测试结果 result[65528] is: 512.000000 result[65529] is: 512.000000 result[65530] is: 512.000000 result[65531] is: 512.000000 result[65532] is: 512.000000 result[65533] is: 512.000000 result[65534] is: 512.000000 result[65535] is: 512.000000 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增README.md和aclnnTransposeBatchMatMul.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!1136 | 4 个月前 |
| tbmm资料WeightNz添加 Co-authored-by: jgx12<jingaoxiang@huawei.com> # message auto-generated for no-merge-commit merge: !5880 merge tbmm_docu into master tbmm资料WeightNz添加 Created-by: jgx12 Commit-by: jgx12 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 更改TBMM资料,增加aclnnTransposeBatchMatmul.md跳转 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> https://gitcode.com/cann/ops-nn/issues/3228 ## 测试 <!--描述进行了哪些测试来验证你的改动。--> 无 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> matmul/transpose_batch_mat_mul/README.md matmul/transpose_quant_batch_mat_mul/README.md ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-nn!5880 | 23 天前 |