---
title: 全量接口列表
description: "本文档主要描述给应用用户或者上层框架提供了安全易用的构图接口集合，开发者可以调用这些接口构建网络模型，设置模型所包含的图、图内的算子以及算子的属性信息（包括Input、Output及其他属性信息）。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/atlasgeapi_07_0001.html
indexId: 2e418f722617b0ae6274fc840d29aebf299f0c2a6fdbb79708b2b4039de9cad572
---
# 全量接口列表

本文档主要描述给应用用户或者上层框架提供了安全易用的构图接口集合，开发者可以调用这些接口构建网络模型，设置模型所包含的图、图内的算子以及算子的属性信息（包括Input、Output及其他属性信息）。

#### aclgrph接口（C++）

| 接口列表 | 功能描述 |
| --- | --- |
| aclgrphParseCaffe | 将Caffe模型解析为图。 |
| aclgrphParseONNX | 将ONNX模型解析为Graph。 |
| aclgrphParseONNXFromMem | 将加载至内存的ONNX模型解析为Graph。 |
| aclgrphParseTensorFlow | 将TensorFlow模型解析为Graph。 |
| aclgrphBuildInitialize | 模型构建的初始化函数，用于申请资源。 |
| aclgrphBuildFinalize | 系统完成模型构建后，通过该接口释放资源。 |
| aclgrphBuildModel | 将输入的Graph编译为适配AI处理器的离线模型，并保存到内存缓冲区。 |
| aclgrphBundleBuildModel | 与aclgrphBuildModel接口的区别是，该接口适用于权重更新场景。通过aclgrphBundleBuildModel接口生成离线模型缓存后，需要使用aclgrphBundleSaveModel接口落盘。 |
| aclgrphBundleSaveModel | 将离线模型序列化并保存到指定文件中。 |
| aclgrphConvertToWeightRefreshableGraphs | 通过传入Const节点名数组将原图转换成一组权重可更新的图。 |
| aclgrphDumpGraph | 将输入的Graph导出到文本中。 |
| aclgrphGetIRVersion | 获取模型构建相关接口的版本号。 |
| aclgrphGenerateForOp | 根据单算子信息或单算子JSON文件构建Graph。 |
| aclgrphSaveModel | 将离线模型序列化并保存到指定文件中。 |
| aclgrphSetOpAttr | 用于支持设置node属性方式的改图。 |
| aclgrphCalibration | 将非量化Graph自动修改为量化后的Graph。详细使用场景请参见量化(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/graphdevg/atlasag\_25\_0040.html)。 |
| aclgrphProfCreateConfig | 创建Profiling配置信息。 |
| aclgrphProfDestroyConfig | 销毁Profiling配置信息。 |
| aclgrphProfFinalize | 结束Profiling。 |
| aclgrphProfInit | 初始化Profiling，设置Profiling参数（目前供用户设置保存性能数据文件的路径）。 |
| aclgrphProfStart | 下发Profiling请求，使能对应数据的采集。 |
| aclgrphProfStop | 停止Profiling数据采集。 |


#### Session接口（C++）

- Session| 接口列表 | 功能描述 |
| --- | --- |
| Session构造函数和析构函数 | Session构造函数和析构函数。 |
| AddGraph | 向Session中添加Graph，Session内会生成唯一的Graph ID。 |
| AddGraphWithCopy | 向Session中添加Graph，Session内会生成唯一的Graph ID。 |
| BuildGraph | 同步编译指定ID对应的Graph图，生成可用于执行的模型。 |
| CompileGraph | 同步编译指定ID对应的Graph图。与BuildGraph相比，该接口仅包含图编译功能，不生成可用于执行的模型，BuildGraph包含了图编译过程，并在编译完成后进行模型所需内存资源的初始化，生成可用于执行的模型。 |
| ExecuteGraphWithStreamAsync | 异步运行指定ID对应的Graph图，输出执行结果。 |
| GEInitialize | 初始化GE，完成运行准备。 |
| GetCompiledGraphSummary | 查询图编译结果的概要信息。包括Feature内存大小、Const内存大小、Stream、Event数目及内存是否可刷新等信息。 |
| GEFinalize | GE退出，释放GE相关资源。 |
| GEGetErrorMsg | 获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的错误描述信息。 |
| GEGetErrorMsgV2 | 获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的错误描述信息。 |
| GEGetWarningMsg | 获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的告警信息。 |
| GEGetWarningMsgV2 | 获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的告警信息。 |
| GetSessionId | 获取Session的ID。 |
| GetVariables | 变量查询接口，获取Session内所有variable算子或指定variable算子的Tensor内容。 |
| IsGraphNeedRebuild | Graph是否需要重新编译。 |
| LoadGraph | 异步执行Graph场景使用，将指定Graph ID的图绑定到对应Stream上。 |
| PaRemapped | 用于内存出现UCE（Uncorrectable Error，不可纠正错误）错误时判断此段内存是否可以快速恢复。 |
| RegisterCallBackFunc | 注册回调函数。 |
| RegisterExternalAllocator | 用户将自己的Allocator注册给GE，适用于使用用户的内存池场景。 |
| RemoveGraph | 在当前Session中删除指定ID对应的Graph。 |
| RunGraph | 同步运行指定ID对应的Graph图，输出运行结果。 |
| RunGraphAsync | 异步运行指定ID对应的Graph图，输出运行结果。 |
| RunGraphDistribute | 对输入refdata节点切分后，同步运行指定ID对应的Graph图，输出运行结果。 |
| RunGraphWithStreamAsync | 异步运行指定ID对应的Graph图，输出运行结果。该接口包括了编译，加载和运行Graph的操作。 |
| SaveGraphsToPb | 该接口已废弃，请勿使用。 保存Session内图接口，将图保存为pb文件，支持Session内的权重共享功能（即Session内两张图若有两个权重值是一致的，则只会保存一份权重）。 |
| SetGraphConstMemoryBase | 设置Graph的Const内存基址。 |
| SetGraphFixedFeatureMemoryBase | 用于指定图的Fixed Feature内存基地址。 |
| SetGraphFixedFeatureMemoryBaseWithType | 用于指定图的不同内存类型的Fixed Feature内存基地址。 |
| ShardGraphs | 该接口已废弃，请勿使用。 切分图接口，对Session内的图按照AddGraph的顺序进行切分，切分后的图保存在内存中。 |
| ShardGraphsToFile | 该接口已废弃，请勿使用。 切分图接口，对Session内的图按照AddGraph的顺序进行切分，切分后的图保存为pb文件。 |
| UpdateGraphFeatureMemoryBase | 用于更新Graph的Feature内存基址。 |
| UpdateGraphRefreshableFeatureMemoryBase | 用于更新除了Fixed之外可刷新的Feature内存基址。 |
| UnregisterExternalAllocator | 将用户基于Stream注册的Allocator销毁，适用于使用用户的内存池场景。 |


- GESession| 接口列表 | 功能描述 |
| --- | --- |
| GeSession构造函数和析构函数 | GeSession构造函数和析构函数。 |
| AddGraph | 向GeSession中添加Graph，GeSession内会生成唯一的Graph ID。 |
| AddGraphClone | 向GeSession中添加Graph，GeSession内会生成唯一的Graph ID。 |
| CompileGraph | 同步编译指定ID对应的Graph图。 |
| GEFinalizeV2 | GE退出，释放GE相关资源。 |
| GEGetErrorMsgV3 | 获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的错误描述信息。 |
| GEGetWarningMsgV3 | 获取并清空与本接口在同一个进程或线程中的其它接口调用失败时的告警信息。 |
| GEInitializeV2 | 初始化GE，完成运行准备。 |
| GetCompiledGraphSummary | 查询图编译结果的概要信息。包括Feature内存大小、Const内存大小、Stream、Event数目及内存是否可刷新等信息。 |
| GetCompiledModel | 获取图编译后的序列化模型。 |
| GetSessionId | 获取Session的ID。 |
| IsGraphNeedRebuild | Graph是否需要重新编译。 |
| LoadGraph | 加载图并为其执行做准备，包括申请与管理图运行所需的内存及计算流等资源。 |
| RegisterCallBackFunc | 注册回调函数。 |
| RegisterExternalAllocator | 用户将自己的Allocator注册给GE，适用于使用用户的内存池场景。 |
| RemoveGraph | 在当前GeSession中删除指定ID对应的Graph。 |
| RunGraph | 同步运行指定ID对应的Graph图，输出运行结果。 |
| RunGraphAsync | 异步运行指定ID对应的Graph图，输出运行结果。 |
| RunGraphWithStreamAsync | 异步运行指定ID对应的Graph图，输出执行结果。 |
| SetGraphConstMemoryBase | 设置Graph的Const内存基址。 |
| SetGraphFixedFeatureMemoryBaseWithType | 用于指定图的不同内存类型的Fixed Feature内存基地址。 |
| UpdateGraphFeatureMemoryBase | 用于更新Graph的Feature内存基址。 |
| UpdateGraphRefreshableFeatureMemoryBase | 用于更新除了Fixed之外可刷新的Feature内存基址。 |
| UnregisterExternalAllocator | 将用户基于Stream注册的Allocator销毁，适用于使用用户的内存池场景。 |


#### ES接口（C++）

- 类和结构体| 接口列表 | 功能描述 |
| --- | --- |
| CompliantNodeBuilder | 节点构建器类，用于构建符合IR规范的图节点，该类提供了链式API来定义节点的IR输入、输出、属性等信息，确保生成的节点符合IR规范要求，属于ES generated API内部调用的类，构图者如果直接基于ES generated API来构图，无需感知这个类，如果要自定义ES API，则需使用此类提供的能力来构建节点。 |
| EsCGraphBuilder | C风格的图构建器结构体，C、C++的内部实现类，C用户构图调用esb\_funcs.h接口即可，C++用户调用EsGraphBuilder类的对外接口即可。 |
| EsCTensorHolder | 表示ES API的C风格的输出类型；C用户构图调用esb\_funcs.h接口即可，C++用户调用EsTensorHolder的类的对外接口即可。 |
| EsGraphBuilder | 图构建器类，用于C++用户构建计算图，该类提供了创建输入等图元素的方法， 以及设置私有属性、构建最终图、服务C++的ES generated API的内联函数内部调用C的ES generated API转换逻辑等功能。 |
| EsTensorHolder | 节点输出表达类，用于C++构图，封装了C的张量操作接口，该类提供了对节点输出的各种操作，包括设置dataype、format、shape等信息，以及设置私有属性，算术运算操作等能力。 |
| EsTensorLike | 泛EsTensorHolder类型，支持将标量和向量数值转为EsTensorHolder对象，便于C++构图接口可以直接传递数值来构图。 |


- 函数| 接口列表 | 功能描述 |
| --- | --- |
| EsCreateGraphBuilder | 创建一个图构建器实例。 |
| EsDestroyGraphBuilder | 释放图构建器资源。 |
| EsCreateGraphInputWithDetails | 创建一个图上的输入。 |
| EsCreateGraphInput | 创建一个图上的Data输入。 |
| EsSetDataType | 设置Tensor的数据类型，不设置默认为float。 |
| EsSetFormat | 设置Tensor的内存格式，不设置默认为ND。 |
| EsSetShape | 设置Tensor的shape，不设置默认为[]，也就是标量。 |
| EsSetOriginSymbolShape | 设置Tensor的shape的符号化表达，不设置默认无符号化信息。 |
| EsCreateConstInt64 | 创建int64类型的Const节点。 |
| EsCreateConstInt32 | 创建int32类型的Const节点。 |
| EsCreateConstUInt64 | 创建uint64类型的Const节点。 |
| EsCreateConstUInt32 | 创建uint32类型的Const节点。 |
| EsCreateConstFloat | 创建float类型的Const节点。 |
| EsCreateVectorInt64 | 创建int64类型的向量常量。 |
| EsCreateVectorInt32 | 创建int32类型的向量常量。 |
| EsCreateVectorUInt64 | 创建uint64类型的向量常量。 |
| EsCreateVectorUInt32 | 创建uint32类型的向量常量。 |
| EsCreateVectorFloat | 创建float类型的向量常量。 |
| EsCreateScalarInt64 | 创建int64类型的标量常量。 |
| EsCreateScalarInt32 | 创建int32类型的标量常量。 |
| EsCreateScalarUInt64 | 创建uint64类型的标量常量。 |
| EsCreateScalarUInt32 | 创建uint32类型的标量常量。 |
| EsCreateScalarFloat | 创建float类型的标量常量。 |
| EsCreateVariable | 创建变量节点。 |
| EsSetGraphOutput | 设置图的输出。 |
| EsBuildGraphAndReset | 本接口返回ge::Graph实例的指针，所有权转移给调用方。 |
| EsGetOwnerBuilder | 本接口返回EsCGraphBuilder实例的快照，所有权不发生转移。 |
| EsGetProducer | 本接口返回ge::GNode实例的快照。 |
| EsAddControlEdge | 控制边连接函数。 |
| EsCreateEsCTensor | 本接口用于C用户创建EsCTensor。 |
| EsCreateEsCTensorFromFile | 用于C用户通过binary文件创建EsCTensor。 |
| EsSetInt64AttrForGraph | 设置图的int64类型属性。 |
| EsSetStringAttrForGraph | 设置图的字符串类型属性。 |
| EsSetBoolAttrForGraph | 设置图的布尔类型属性。 |
| EsSetInt64AttrForTensor | 设置Tensor的int64类型属性。 |
| EsSetStringAttrForTensor | 设置Tensor的字符串类型属性。 |
| EsSetBoolAttrForTensor | 设置Tensor的布尔类型属性。 |
| EsSetInt64AttrForNode | 设置节点的int64类型属性。 |
| EsSetStringAttrForNode | 设置节点的字符串类型属性。 |
| EsSetBoolAttrForNode | 设置节点的布尔类型属性。 |


#### 图基础数据结构和接口（C++）

- 类和结构体| 接口名称 | 功能描述 |
| --- | --- |
| ArgDescInfo | ArgDescInfo用来描述Kernel输入参数Args地址信息的类，它对Args地址进行语义化表达，明确了每个地址的用途和相关信息。 |
| ArgsFormatSerializer | ArgsFormat序列化信息。 |
| AttrValue | 用于存储属性值。 |
| BaseCustomOp | 自定义算子的基类。 |
| CompiledGraphSummary | 图编译结果的概要信息。 |
| CtInferShapeContext | CtInferShapeContext继承自InferShapeContext，用于编译期Shape推导，提供编译期使用的接口。 |
| CtInferShapeRangeContext | CtInferShapeRangeContext继承自InferShapeRangeContext，用于编译期ShapeRange推导，提供编译期使用的接口。 |
| CustomPassContext | 获取自定义Pass上下文对象。 |
| CustomOpCreatorRegister | 自定义算子注册器，用于注册自定义算子。 |
| DecomposePass | 分解Pass类。 |
| EagerExecuteOp | 自定义算子的基类。 |
| EagerOpExecutionContext | 用于执行算子的上下文环境。 |
| ExternalWeightDesc | 落盘的外置权重的详细信息。 |
| FeatureMemory | 用于存储Feature内存信息。 |
| FusionBasePass | 融合Pass。 |
| FusionPassRegistrationData | 融合Pass注册类。 |
| GeUtils | GE改图相关的工具类。如shape推导，校验节点是否支持，部分图优化工具方法等。 |
| Graph | 构造Graph相关的类。 |
| GraphBuffer | 用于保存图的缓存数据。 |
| GNode | 用户构造Graph的节点数据。 |
| InferenceContext | 获取推理上下文对象，并设置相应对象的形状和数据类型，主要用于资源类算子。 |
| InferFormatFuncRegister | 算子InferFormat函数注册接口，此接口被其他头文件引用，一般不用由算子开发者直接调用。 |
| InferShapeFuncRegister | 算子infershape函数注册接口，此接口被其他头文件引用，一般不用由算子开发者直接调用。 |
| InferValueRangeFuncRegister | 算子InferValueRangeFuncRegister函数注册接口，此接口被其他头文件引用，一般不由算子开发者直接调用。 |
| InputTensorInfo | 输入Tensor信息。 |
| KernelLaunchInfo | KernelLaunchInfo类为开发者提供创建和管理下发给Device的任务接口，允许开发者设置或者获取当前待下发Device任务的相关Launch信息。 |
| LogicalStreamAllocationInfo | 逻辑流分配信息。 |
| MatchResult | 通过PatternMatcher在图上匹配到的一个结果，该结果包含匹配到的node。 |
| ModelBufferData | 内存缓冲区中的序列化模型数据。 |
| Operator | 算子类。 |
| OperatorCreatorRegister | 算子注册接口，注册一个算子原型，此接口被其他头文件引用，一般不由算子开发者直接调用。 |
| OperatorFactory | 内部关联接口，此接口被其他头文件引用，一般不用由算子开发者直接调用。 |
| OpLibRegister | OpLibRegister类所提供的接口为内部关联接口，当前主要为自定义算子动态库提供注册功能，供自定义算子工程框架注册指定初始化函数，开发者无需关注。 |
| OutputTensorInfo | 输出Tensor信息。 |
| PassReceiver | 接收并处理Pass注册信息的类。 |
| PassRegistrar | 接收一个融合pass注册信息，注册到全局单例中。 |
| PassRegistrationData | 用于注册和管理自定义Pass（处理阶段）的类。 |
| Pattern | 用于定义图结构匹配的模板。该模板接收一个Graph，用Graph来描述待匹配的图结构。 |
| PatternFusionPass | pattern融合类。 |
| PatternMatcher | 用于做子图匹配的工具类，该类接收一个Pattern定义，和待匹配的Graph。将使用pattern对Graph进行匹配，提供MatchNext接口逐一返回匹配结果。 |
| PatternMatcherConfig | 用于配置PatternMatcher行为的类。 |
| PatternMatcherConfigBuilder | 构造PatternMatcherConfig的辅助类。 |
| ShapeAndType | 可设置、获取相应对象的形状和数据类型。 |
| StreamAllocationSummary | 流分配的概要信息。 |
| StreamPassContext | 逻辑流分配Pass上下文对象。 |
| SubgraphRewriter | 一个用于改图的工具类。接收图上的一个范围，和一个替换图replacement，使用replacement将图上给定范围中的节点替换掉。 |
| SubgraphInput | 用于描述subgraph的一个输入tensor。 |
| SubgraphOutput | 用于描述subgraph的一个输出tensor。 |
| SubgraphBoundary | 用于圈定subgraph边界。 |
| VerifyFuncRegister | 算子verifyFunc函数注册接口，此接口被其他头文件引用，一般不用由算子开发者直接调用。 |


- 函数| 接口名称 | 功能描述 |
| --- | --- |
| ConvertToAscendString | 模板函数，接受一个模板参数T，并将其转换为AscendString类型。这个函数的主要功能是将不同类型的字符串转换为AscendString类型。 |
| ConvertToListAscendString | 定义了一个模板函数ConvertToListAscendString，用于将不同类型的字符串列表转换为AscendString类型的列表。 |


- 宏| 宏定义 | 功能描述 |
| --- | --- |
| BROADCAST\_INFER | 提供公共函数宏封装，供算子开发者开发InferShape函数。该函数基于2个输入的shape，设置输出的shape。该宏只是设置shape，未设置dtype。 |
| COMMON\_INFER\_FUNC\_REG | 注册算子的InferShape函数。 |
| ELMTWISE\_INFER\_SHAPEANDTYPE | 提供公共函数宏封装，供算子开发者开发InferShape函数。该函数基于输入的shape和dtype，设置输出的shape和dtype。 |
| IMPLEMT\_COMMON\_INFERFUNC | 封装算子的Common\_InferShape函数。 |
| IMPLEMT\_INFERFORMAT\_FUNC | 封装算子的inferFormat函数。 |
| IMPLEMT\_INFERFUNC | 封装算子的InferShape函数。 |
| IMPLEMT\_VERIFIER | 封装算子的Verify函数。 |
| INFER\_FORMAT\_FUNC\_REG | 注册算子的InferFormat实现。 |
| INFER\_FUNC\_REG | 注册算子的InferShape函数。 |
| REG\_AUTO\_MAPPING\_OP | 注册自定义算子的函数。 |
| REG\_FUSION\_PASS | 注册自定义融合Pass函数。 |
| REG\_DECOMPOSE\_PASS | 1对N场景下的改图函数。 |
| REGISTER\_CUSTOM\_PASS | 注册自定义Pass函数。 |
| VERIFY\_FUNC\_REG | 注册算子的Verify函数。 |
| 原型定义接口（REG\_OP） | 原型定义接口。 |
| 原型定义衍生接口 | 原型定义衍生接口。 |


- 枚举| 枚举类型 | 功能描述 |
| --- | --- |
| ArgDescType | Args地址的类型。 |
| CustomPassStage | 自定义pass执行阶段。 |
| HiddenInputSubType | ArgDescInfo隐藏输入地址的类型。 |
| DumpFormat | Dump文件的格式。 |
| MemoryType | \- |
| ProfDataTypeConfig | Profiling数据类型配置文件。 |
| ProfilingAicoreMetrics | Profiling AI Core metrics。 |


#### Session接口（Python）

| 接口列表 | 功能描述 |
| --- | --- |
| Session构造函数 | 初始化Session。 |
| add\_graph | 向会话添加图。 |
| ge\_initialize | 初始化GE，准备执行。 |
| ge\_finalize | 终结GE，释放所有资源。 |
| run\_graph | 运行图。 |


#### ES接口（Python）

- 类和结构体| 接口列表 | 功能描述 |
| --- | --- |
| GraphBuilder | GraphBuilder类用于以Eager Style方式构建计算图。 |
| TensorHolder | TensorHolder类用于在Eager Style图构建中表示张量操作。 |


- 全局函数| 接口列表 | 功能描述 |
| --- | --- |
| attr\_scope | 属性作用域上下文管理器。 |
| control\_dependency\_scope | 控制依赖作用域上下文管理器。 |
| get\_plugin | 获取指定名称的插件模块。 |
| list\_plugins | 列出所有已加载的插件名称。 |


#### 图基础数据结构和接口（Python）

- 类和结构体| 接口列表 | 功能描述 |
| --- | --- |
| Graph | Graph类用于表示和操作计算图。 |
| Node | Node类用于表示和操作计算图中的节点。 |
| Tensor | Tensor类用于表示张量数据。 |


- 枚举| 枚举 | 功能描述 |
| --- | --- |
| AttrValueType | 属性值类型枚举。 |
| DataType | 数据类型枚举，定义了支持的所有数据类型。 |
| DumpFormat | 图导出格式枚举。 |
| InputType | 输入类型枚举。 |
| Format | 数据格式枚举，定义了支持的所有数据格式。 |


#### 图基础数据结构和接口（C）

| 接口列表 | 功能描述 |
| --- | --- |
| aclGetCustomOpLibPath | 获取自定义算子库的路径。 |
| GeSessionLoadGraph | 只有异步执行Graph场景使用，使用指定的Session，将指定Graph ID的图绑定到对应Stream上。 |
| GeSessionExecuteGraphWithStreamAsync | 使用指定的Session实例，异步运行指定ID对应的Graph图，输出执行结果。 |
| GEStreamAllocationSummaryGetAllNodes | 获取根图和子图的所有节点。 |
| GEStreamAllocationSummaryGetAttachedStreamIds | 获取根图和子图附属逻辑从流ID。 |
| GEStreamAllocationSummaryGetHcclFollowedStreamNums | 获取根图和子图的实际通信从流的物理流数量。 |
| GEStreamAllocationSummaryGetLogicalStreamIds | 获取根图和子图的逻辑流ID。 |
| GEStreamAllocationSummaryGetPhysicalStreamNums | 获取根图和子图的实际物理流数量。 |
| GEStreamAllocationSummaryGetStringInfos | 获取根图和子图的逻辑流信息字符串。 |
| GEStreamAllocationSummaryGetStreamGraphs | 获取根图和子图的流图。 |
| GEStreamAllocationSummaryGetUsrStreamLabels | 获取根图和子图的用户流标签。 |
| GEStreamAllocationSummaryIsAssignedByStreamPass | 获取根图和子图是否由用户注册的流分配Pass分配。 |
| GetRegisteredIrDef | 获取注册的IR（Intermediate Representation）算子原型定义信息。 |
| IsIrRepSupport | 查询IR（Intermediate Representation）表达能力。 |
