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

#### 产品支持情况

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


#### 头文件/库文件

- 头文件：#include <ge/ge_api.h>
- 库文件：libge_runner.so


#### 功能说明

向Session中添加Graph，Session内会生成唯一的Graph ID。


#### 函数原型

数据类型为string的接口后续版本会废弃，建议使用数据类型为非string的接口。


```
Status AddGraph(uint32_t graph_id, const Graph &graph)
Status AddGraph(uint32_t graph_id, const Graph &graph, const std::map<std::string, std::string> &options)
Status AddGraph(uint32_t graph_id, const Graph &graph, const std::map<AscendString, AscendString> &options)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| graph\_id | 输入 | Graph对应的ID。 |
| graph | 输入 | 需要加载到Session内的Graph。 |
| options | 输入 | map表，key为参数类型，value为参数值，均为字符串格式，描述Graph配置信息。 一般情况下可不填，与GEInitialize传入的全局options保持一致。 如需单独配置当前Graph的配置信息时，可以通过此参数配置，支持的配置项请参见options参数说明中graph级别的参数。 |


#### 返回值说明

| 参数名 | 类型 | 说明 |
| --- | --- | --- |
| \- | Status | GE\_CLI\_GE\_NOT\_INITIALIZED：GE未初始化。 SUCCESS：图添加成功。 FAILED：图添加失败。 |


#### 约束说明

- 相同对象的Graph调用此接口注册，会导致不同的Graph ID实际共享同一个Graph对象，导致后续操作相互影响而出错。
- 不同的Graph对象请不要使用相同的Graph ID来添加，该情况下，只保留第一次添加的Graph对象，后续的Graph对象不会添加成功。
- 使用该接口，Session会直接修改添加的Graph对象。如果AddGraph后需要保持原有的Graph对象不受影响，应使用  AddGraphWithCopy
接口，AddGraphWithCopy会在Session中拷贝一份Graph对象，仅对Graph对象的拷贝进行修改。
