---
title: SetScaleAType
description: "MxMatmul场景(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_10029.html)，设置scaleA矩阵的位置、数据格式、是否转置等信息，这些信息需要和Kernel侧的设置保持一致。如果不调用本接口，scaleA矩阵的信息将与SetAType中设置的A矩阵的信息保持一致。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendcopapi/atlasascendc_api_07_10158.html
sourcePath: /source/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_10158.html
indexId: 967c2dbcb042eec45110c7826fb863d5b6ce958dc6b0e236e75712e5b698970777
---
# SetScaleAType

#### 功能说明

MxMatmul场景(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_10029.html)，设置scaleA矩阵的位置、数据格式、是否转置等信息，这些信息需要和Kernel侧的设置保持一致。如果不调用本接口，scaleA矩阵的信息将与SetAType中设置的A矩阵的信息保持一致。


#### 函数原型

```
int32_t SetScaleAType(TPosition scalePos, CubeFormat scaleType, bool isScaleTrans = false)
```


#### 参数说明


**表1 参数说明**

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| scalePos | 输入 | scaleA矩阵的内存逻辑位置。 针对Atlas 350 加速卡，scaleA矩阵可设置为TPosition::GM，TPosition::VECOUT，TPosition::TSCM。 |
| scaleType | 输入 | scaleA矩阵的物理排布格式，详细介绍请参考数据格式(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas\_ascendc\_10\_10029.html\#ZH\-CN\_TOPIC\_0000002562429869\_\_zh\-cn\_topic\_0000002270097206\_fig107863142019)。 针对Atlas 350 加速卡，scaleA矩阵可设置为CubeFormat::ND，CubeFormat::NZ。 |
| isScaleTrans | 输入 | scaleA矩阵是否转置。参数支持的取值如下： true：scaleA矩阵转置； false：默认值，scaleA矩阵不转置。 |


#### 返回值说明

-1表示设置失败； 0表示设置成功。


#### 约束说明

无


#### 调用示例

```
auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo());
matmul_tiling::MatmulApiTiling tiling(ascendcPlatform); 
tiling.SetAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16);  
// 设置scaleA矩阵，buffer位置为GM，数据格式为ND，不转置
tiling.SetScaleAType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, false);
```
