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

#### 产品支持情况

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


#### 头文件/库文件

- 头文件：#include <ge/ge_api_v2.h>
- 库文件：libge_runner_v2.so


#### 功能说明

同步编译指定ID对应的Graph图。

该接口不包含模型所需内存资源管理功能，而是将这部分管理内存的工作开放给用户。您可以配合编译后Graph资源占用查询接口、内存的基地址刷新接口来使用，达到自行管理模型内存、获得更多灵活性的目的。

您可以在调用该接口后，调用GetCompiledGraphSummary获取图编译结果的概要信息（比如模型执行所需的内存资源大小及内存是否可刷新、复用等），根据查询到的内存大小，自行申请并管理内存；然后通过SetGraphConstMemoryBase、UpdateGraphFeatureMemoryBase对内存基址进行设置和刷新。


#### 函数原型

```
Status CompileGraph(uint32_t graph_id)
Status CompileGraph(uint32_t graph_id, const std::vector<ge::Tensor> &inputs)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| graph\_id | 输入 | 子图对应的ID。 |
| inputs | 输入 | 用于更新计算图输入节点的元信息（Shape，Format，DataType）。可以为空。 |


#### 返回值说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| \- | Status | SUCCESS：编译子图成功。 FAILED：编译子图失败。 PARAM\_INVALID：编译子图时，输入graph信息异常。 |
