---
title: aclmdlQuerySize
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/aclcppdevg_03_0303.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/aclcppdevg_03_0303.html
indexId: 24ec10be443cfc370127a25f6d20cea270933d01c3ee301c359df8fe545565a872
---
# aclmdlQuerySize

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

根据模型文件获取模型执行时所需的权值内存大小、工作内存大小。

当由用户管理内存时，为确保内存不浪费，在申请工作内存、权值内存前，需要调用本接口查询模型运行时所需工作内存、权值内存的大小。如果模型输入数据的Shape不确定，则不能调用本命接口查询内存大小，在加载模型时，就无法由用户管理内存，因此需选择由系统管理内存的模型加载接口（例如，aclmdlLoadFromFile、aclmdlLoadFromMem）。


#### 函数原型

```
aclError aclmdlQuerySize(const char *fileName, size_t *workSize, size_t *weightSize)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| fileName | 输入 | 模型文件路径的指针，路径中包含文件名。运行程序（APP）的用户需要对该路径有访问权限。 此处的模型文件是om模型文件。 关于如何获取om文件，请参见《ATC离线模型编译工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/atctool/atlasatc\_16\_0001.html)》中的“参数说明 > 基础功能参数 > 总体选项 > \-\-mode参数(https://www.hiascend.comdocument/detail/zh/canncommercial/900/devaids/atctool/atlasatcparam\_16\_0009.html)”。 |
| workSize | 输出 | 模型执行时所需的工作内存大小的指针，单位Byte。 此处的内存为Device内存，而且需要用户申请和释放。 |
| weightSize | 输出 | 模型执行时所需权值内存大小的指针，单位Byte。 此处的内存为Device内存，而且需要用户申请和释放。 |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。


#### 接口调用示例

接口调用流程及示例代码，参见模型加载(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/acldevg/aclcppdevg_000029.html)。
