---
title: Matmul特性场景
description: "除了前述介绍的Matmul基本计算能力外，还请掌握Matmul的基础知识(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_0037.html)和算子实现(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_0038.html)。另外，Matmul矩阵编程还提供了适用于不同场景的处理能力及多种功能，具体场景和使用的关键接口或参数列于下表中，详细内容请见对应章节的介绍。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendcopapi/atlasascendc_api_07_10180.html
sourcePath: /source/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_10180.html
indexId: d3e0e522ee9efb027634fbf026f967b6cc805f3668f215557aa9bf08e2dedd2977
---
# Matmul特性场景

除了前述介绍的Matmul基本计算能力外，还请掌握Matmul的基础知识(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_0037.html)和算子实现(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_0038.html)。另外，Matmul矩阵编程还提供了适用于不同场景的处理能力及多种功能，具体场景和使用的关键接口或参数列于下表中，详细内容请见对应章节的介绍。


**表1 Matmul功能特性表**

| 特性描述 | 涉及的关键API或参数 |
| --- | --- |
| 多核对齐切分(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10013.html) | SetDim、EnableMultiCoreSplitK(多核切K场景) |
| 多核非对齐切分(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10014.html) | SetTail、SetDim、EnableMultiCoreSplitK(多核切K场景) |
| 异步场景处理(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10015.html) | Iterate、GetTensorC、IterateAll |
| 矩阵乘输出的量化/反量化(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10017.html) | SetDequantType、SetQuantScalar、SetQuantVector |
| 自定义数据搬入搬出 | MatmulCallBackFunc、SetUserDefInfo、SetSelfDefineData |
| 矩阵乘输出的Channel拆分(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10018.html) | MatmulConfig模板参数中的isEnableChannelSplit参数 |
| 矩阵向量乘(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10019.html) | SetAType |
| 4:2稀疏矩阵乘(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10021.html) | SetSparse、SetSparseIndex |
| 上三角/下三角矩阵乘 | MatmulPolicy模板参数 |
| TSCM输入的矩阵乘(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10024.html) | DataCopy |
| 矩阵乘输出的N方向对齐(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10026.html) | SetCType |
| 单次矩阵乘局部输出(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10027.html) | MatmulConfig模板参数中的isPartialOutput参数 |
| AIC和AIV独立运行机制(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10028.html) | MatmulConfig模板参数中的enableMixDualMaster参数 |
| MxMatmul场景(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10029.html) | SetScaleAType、SetScaleBType、SetMadType、SetTensorScaleA、SetTensorScaleB |


**表2 BatchMatmul功能特性表**

| 特性描述 | 主要涉及的API接口 |
| --- | --- |
| BatchMatmul基础场景(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_0041.html) | NORMAL排布格式的BatchMatmul：IterateBatch、SetBatchInfoForNormal |
| BatchMatmul基础场景(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_0041.html) | BSNGD、SBNGD、BNGS1S2排布格式的BatchMatmul：IterateBatch、SetALayout、SetBLayout、SetCLayout、SetBatchNum |
| Batch Matmul复用Bias矩阵(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10030.html) | GetMMConfig、IterateBatch、SetBatchInfoForNormal |
