---
title: SetSparse
description: "设置Matmul的使用场景是否为Sparse Matmul场景Sparse Matmul场景(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_10021.html)。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendcopapi/atlasascendc_api_07_10111.html
sourcePath: /source/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_10111.html
indexId: 0b28c6944be19120d02e99f8a0846c6be58af70b3d6bee5af99b110c4b670ce377
---
# SetSparse

#### 功能说明

设置Matmul的使用场景是否为Sparse Matmul场景Sparse Matmul场景(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_10021.html)。


#### 函数原型

```
int32_t SetSparse(bool isSparseIn = false)
```


#### 参数说明


**表1 参数说明**

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| isSparseIn | 输入 | 设置是否为Sparse Matmul稀疏场景。 true：稀疏场景。 false：非稀疏场景。 |


#### 返回值说明

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


#### 约束说明

本接口必须在GetTiling接口前调用。


#### 调用示例

```
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); 
tiling.SetBType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT16);  
tiling.SetCType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT);
tiling.SetBiasType(matmul_tiling::TPosition::GM, matmul_tiling::CubeFormat::ND, matmul_tiling::DataType::DT_FLOAT);  
tiling.SetSparse(true); // 设置Sparse Matmul稀疏场景
tiling.SetShape(1024, 1024, 1024);   
tiling.SetOrgShape(1024, 1024, 1024);   
tiling.SetBias(true);   
tiling.SetBufferSpace(-1, -1, -1);
optiling::TCubeTiling tilingData;   
int ret = tiling.GetTiling(tilingData);
```
