| feat: 新增 arch35 矩阵变换接口 aclblasLtMatrixTransform Co-authored-by: tangpingchuan<tangpingchuan@huawei.com> # message auto-generated for no-merge-commit merge: !150 merge aclblasLtMatrixTransform into master feat: 新增 arch35 矩阵变换接口 aclblasLtMatrixTransform Created-by: pingchuantang Commit-by: tangpingchuan Merged-by: cann-robot Description: ## 描述 新增 aclBLASLt 矩阵变换接口 aclblasLtMatrixTransform,实现 C = alpha·op(A) + beta·op(B) 的矩阵转置、缩放、加法及内存布局/数据类型转换,目标芯片 Ascend950,目标架构 arch35(DAV_3510)。 **新增接口**(include/cann_ops_blasLt.h): - aclblasLtMatrixTransformDescCreate / aclblasLtMatrixTransformDescDestroy / aclblasLtMatrixTransformDescSetAttribute / aclblasLtMatrixTransformDescGetAttribute - aclblasLtMatrixTransform 主计算接口 - 新增类型 aclblasLtMatrixTransformDesc_t、aclblasLtMatrixTransformDescAttribute_t(SCALE_TYPE / POINTER_MODE / TRANSA / TRANSB) - aclblasLtOrder_t 扩展 COL32 / COL4_4R2_8C / COL32_2R_4R4 三种布局 **支持规格**: - dtype(A/B/C 独立):FP32 / FP16 / BF16 / INT8 / INT32 / FP8_E4M3FN / FP8_E5M2 / FP4_E2M1;scaleType 按浮点 FP32 / 整数 INT32 / FP8 FP32 / FP4 BF16 分路径 - op:N / T(C 等价 T);order:COL / ROW / COL32 / COL4_4R2_8C / COL32_2R_4R4 - 复杂量化布局(COL4_4R2_8C / COL32_2R_4R4)仅支持量化路径 dtype(INT8/INT32/FP8/FP4);FP4 packed ld 经 ceil 字节换算,奇数维合法 - 不支持 batchCount>1、跨 scaleType 路径转换、FP64/复数/HiF8 等 **实现**:host 侧 tiling(blasLt/matrixtransform/arch35/matrix_transform_host.cpp 及 tiling data / perm table 头文件),arch35 kernel(matrix_transform_kernel.cpp),ACL 入口在 blasLt/aclblasLt.cpp 完成参数校验与任务下发。 ## 关联的Issue 关联Issue #147 :https://gitcode.com/cann/ops-blas/issues/147 ## 测试 CSV 驱动 159 个用例 + 4 个复杂布局 anchor 用例(test/blasLtMatrixTransform/),覆盖全 dtype/order/op 组合、空矩阵、异常入参;整数路径位精确(MARE=MERE=0),浮点/FP8/FP4 按 MARE/MERE 单标杆标准比对。 ## 文档更新 新增 blasLt/matrixtransform/README.md(计算语义、支持规格、精度标准、接口说明)。 ## 类型标签 - [x] 新特性 See merge request: cann/ops-blas!150 | 12 天前 |