---
title: GetLibApiWorkSpaceSize
description: "获取AscendC API需要的workspace空间大小。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendcopapi/atlasascendc_api_07_1036.html
sourcePath: /source/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_1036.html
indexId: fd0edb6b99ceb06746dc77ed64332bffb29f5c100ae3bcdcf002906e136599f176
---
# GetLibApiWorkSpaceSize

#### 功能说明

获取AscendC API需要的workspace空间大小。


#### 函数原型

```
uint32_t GetLibApiWorkSpaceSize(void) const
```


#### 参数说明

无


#### 返回值说明

返回uint32_t数据类型的结果，该结果代表当前系统workspace的大小，单位为字节。


#### 约束说明

无


#### 调用示例

```
// 用户自定义的tiling函数
static ge::graphStatus TilingFunc(gert::TilingContext* context)
{
    AddApiTiling tiling;
    size_t usrSize = 256; // 设置用户需要使用的workspace大小。
    // 如需要使用系统workspace需要调用GetLibApiWorkSpaceSize获取系统workspace的大小。
    auto ascendcPlatform = platform_ascendc:: PlatformAscendC(context->GetPlatformInfo());
    uint32_t sysWorkspaceSize = ascendcPlatform.GetLibApiWorkSpaceSize();
    size_t *currentWorkspace = context->GetWorkspaceSizes(1); // 通过框架获取workspace的指针，GetWorkspaceSizes入参为所需workspace的块数。当前限制使用一块。
    currentWorkspace[0] = usrSize + sysWorkspaceSize; // 设置总的workspace的数值大小，总的workspace空间由框架来申请并管理。
}
```
