昇腾社区首页
中文
注册
开发者
下载

接口列表

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

如无特殊说明,本手册中的所有头文件默认都在“${INSTALL_DIR}/include”路径。

其中${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。若安装的Ascend-cann-toolkit软件包,以root安装举例,则安装后文件存储路径为:/usr/local/Ascend/ascend-toolkit/latest。

aclgrph API

接口列表

功能描述

头文件/库文件

aclgrphParseCaffe

将Caffe模型解析为图。

  • 头文件
    • /include/parser/tensorflow_parser.h
    • /include/parser/caffe_parser.h

    库文件:libfmk_parser.so

  • 头文件:/include/parser/onnx_parser.h

    库文件:libfmk_onnx_parser.so

Atlas A2 训练系列产品 / Atlas A2 推理系列产品 不支持Caffe框架。

Atlas A3 训练系列产品 / Atlas A3 推理系列产品 不支持Caffe框架。

aclgrphParseONNX

将ONNX模型解析为Graph。

aclgrphParseONNXFromMem

将加载至内存的ONNX模型解析为Graph。

aclgrphParseTensorFlow

将TensorFlow模型解析为Graph。

aclgrphBuildInitialize

模型构建的初始化函数,用于申请资源。

  • 头文件:/include/ge/ge_ir_build.h
  • 库文件:libge_compiler.so

aclgrphBuildFinalize

系统完成模型构建后,通过该接口释放资源。

aclgrphBuildModel

将输入的Graph编译为适配昇腾AI处理器的离线模型,并保存到内存缓冲区。

aclgrphBundleBuildModel

aclgrphBuildModel接口的区别是,该接口适用于权重更新场景。通过aclgrphBundleBuildModel接口生成离线模型缓存后,需要使用aclgrphBundleSaveModel接口落盘。

aclgrphBundleSaveModel

将离线模型序列化并保存到指定文件中。

aclgrphConvertToWeightRefreshableGraphs

通过传入Const节点名数组将原图转换成一组权重可更新的图。

aclgrphDumpGraph

将输入的Graph导出到文本中。

aclgrphGetIRVersion

获取模型构建相关接口的版本号。

aclgrphGenerateForOp

根据单算子信息或单算子JSON文件构建Graph。

aclgrphSaveModel

将离线模型序列化并保存到指定文件中。

aclgrphSetOpAttr

用于支持设置node属性方式的改图。

aclgrphCalibration

将非量化Graph自动修改为量化后的Graph。详细使用场景请参见量化

  • 头文件:/include/amct/acl_graph_calibration.h
  • 库文件:libamctacl.so

aclgrphProfCreateConfig

创建Profiling配置信息。

  • 头文件:/include/ge/ge_prof.h
  • 库文件:libmsprofiler.so

Atlas 200I/500 A2 推理产品 不支持Caffe框架。

aclgrphProfDestroyConfig

销毁Profiling配置信息。

aclgrphProfFinalize

结束Profiling。

aclgrphProfInit

初始化Profiling,设置Profiling参数(目前供用户设置保存性能数据文件的路径)。

aclgrphProfStart

下发Profiling请求,使能对应数据的采集。

aclgrphProfStop

停止Profiling数据采集。

Session API

接口列表

功能描述

头文件/库文件

Session构造函数和析构函数

Session构造函数和析构函数。

  • 头文件:/include/ge/ge_api.h
  • 库文件:libge_runner.so

Atlas 200I/500 A2 推理产品 不支持该特性。

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。

GeSessionLoadGraph

只有异步执行Graph场景使用,使用指定的Session,将指定Graph ID的图绑定到对应Stream上。

GeSessionExecuteGraphWithStreamAsync

使用指定的Session实例,异步运行指定ID对应的Graph图,输出执行结果。

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 API

接口列表

功能描述

头文件/库文件

GeSession构造函数和析构函数

GeSession构造函数和析构函数。

  • 头文件:/include/ge/ge_api_v2.h
  • 库文件:libge_runner_v2.so

Atlas 200I/500 A2 推理产品 不支持该特性。

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销毁,适用于使用用户的内存池场景。

图基础数据结构和接口

分类

数据结构/接口名称

功能描述

头文件/库文件

类和结构体

Allocator

支持使用用户注册的外置allocator功能。

头文件:/include/ge/ge_allocator.h

ArgDescInfo

ArgDescInfo用来描述Kernel输入参数Args地址信息的类,它对Args地址进行语义化表达,明确了每个地址的用途和相关信息。

头文件:/include/graph/arg_desc_info.h

CompiledGraphSummary

图编译结果的概要信息。

  • 头文件:/include/ge/ge_graph_compile_summary.h
  • 库文件:libge_compiler.so

ExternalWeightDesc

落盘的外置权重的详细信息。

  • 头文件:/include/ge/ge_graph_compile_summary.h
  • 库文件:libge_compiler.so

FeatureMemory

用于存储Feature内存信息。

  • /include/ge/ge_feature_memory.h
  • libge_compiler.so

StreamAllocationSummary

流分配的概要信息。

  • 头文件:/include/ge/ge_graph_compile_summary.h
  • 库文件:libge_compiler.so

LogicalStreamAllocationInfo

逻辑流分配信息。

  • 头文件:/include/ge/ge_graph_compile_summary.h
  • 库文件:libge_compiler.so

CtInferShapeContext

CtInferShapeContext继承自InferShapeContext,用于编译期Shape推导,提供编译期使用的接口。

头文件:/include/graph/ct_infer_shape_context.h

CtInferShapeRangeContext

CtInferShapeRangeContext继承自InferShapeRangeContext,用于编译期ShapeRange推导,提供编译期使用的接口。

头文件:

/include/graph/ct_infer_shape_range_context.h

CustomPassContext

获取自定义Pass上下文对象。

  • 头文件:/include/register/register_custom_pass.h
  • 库文件:libregister.so

Graph

构造Graph相关的类。

  • 头文件:/include/graph/graph.h
  • 库文件:libgraph.so

GraphBuffer

用于保存图的缓存数据。

  • 头文件:/include/graph/graph_buffer.h
  • 库文件:libgraph_base.so

GNode

用户构造Graph的节点数据。

  • 头文件:/include/graph/gnode.h
  • 库文件:libgraph.so

KernelLaunchInfo

KernelLaunchInfo类为开发者提供创建和管理下发给Device的任务接口,允许开发者设置或者获取当前待下发Device任务的相关Launch信息。

头文件:/include/graph/kernel_launch_info.h

OpLibRegister

OpLibRegister类所提供的接口为内部关联接口,当前主要为自定义算子动态库提供注册功能,供自定义算子工程框架注册指定初始化函数,开发者无需关注。

头文件:

/include/register/op_lib_register.h

SubgraphRewriter

一个用于改图的工具类。接收图上的一个范围,和一个替换图replacement,使用replacement将图上给定范围中的节点替换掉。

  • 头文件:/include/ge/fusion/graph_rewriter.h
  • 库文件:libge_compiler.so

MatchResult

通过PatternMatcher在图上匹配到的一个结果,该结果包含匹配到的node。

  • 头文件:/include/ge/fusion/match_result.h
  • 库文件:libge_compiler.so

Pattern

用于定义图结构匹配的模板。该模板接收一个Graph,用Graph来描述待匹配的图结构。

  • 头文件:/include/ge/fusion/pattern.h
  • 库文件:libge_compiler.so

PatternMatcher

用于做子图匹配的工具类,该类接收一个Pattern定义,和待匹配的Graph。将使用pattern对Graph进行匹配,提供MatchNext接口逐一返回匹配结果。

  • 头文件:/include/ge/fusion/pattern_matcher.h
  • 库文件:libge_compiler.so

SubgraphInput

用于描述subgraph的一个输入tensor。

头文件:

/include/ge/fusion/subgraph_boundary.h

SubgraphOutput

用于描述subgraph的一个输出tensor。

头文件:/include/ge/fusion/subgraph_boundary.h

SubgraphBoundary

用于圈定subgraph边界。

头文件:/include/ge/fusion/subgraph_boundary.h

DecomposePass

分解Pass类。

头文件:/include/ge/fusion/pass/decompose_pass.h

FusionBasePass

融合Pass。

头文件:/include/ge/fusion/pass/fusion_base_pass.h

FusionPassRegistrationData

融合Pass注册类。

头文件:/include/ge/fusion/fusion_pass_reg.h

PassRegistrar

接收一个融合pass注册信息,注册到全局单例中。

头文件:/include/ge/fusion/pass/fusion_pass_reg.h

PatternFusionPass

pattern融合类。

头文件:/include/ge/fusion/pass/pattern_fusion_pass.h

StreamPassContext

逻辑流分配Pass上下文对象。

  • 头文件:/include/register/register_custom_pass.h
  • 库文件:libregister.so

函数

ConvertToAscendString

模板函数,接受一个模板参数T,并将其转换为AscendString类型。这个函数的主要功能是将不同类型的字符串转换为AscendString类型。

头文件:/include/graph/operator_reg.h

ConvertToListAscendString

定义了一个模板函数ConvertToListAscendString,用于将不同类型的字符串列表转换为AscendString类型的列表。

头文件:/include/graph/operator_reg.h

BROADCAST_INFER

提供公共函数宏封装,供算子开发者开发InferShape函数。该函数基于2个输入的shape,设置输出的shape。该宏只是设置shape,未设置dtype。

头文件:/include/graph/operator_reg.h

COMMON_INFER_FUNC_REG

注册算子的InferShape函数。

头文件:/include/graph/operator_reg.h

ELMTWISE_INFER_SHAPEANDTYPE

提供公共函数宏封装,供算子开发者开发InferShape函数。该函数基于输入的shape和dtype,设置输出的shape和dtype。

头文件:/include/graph/operator_reg.h

IMPLEMT_COMMON_INFERFUNC

封装算子的Common_InferShape函数。

头文件:/include/graph/operator_reg.h

IMPLEMT_INFERFORMAT_FUNC

封装算子的inferFormat函数。

头文件:/include/graph/operator_reg.h

IMPLEMT_INFERFUNC

封装算子的InferShape函数。

头文件:/include/graph/operator_reg.h

IMPLEMT_VERIFIER

封装算子的Verify函数。

头文件:/include/graph/operator_reg.h

INFER_FORMAT_FUNC_REG

注册算子的InferFormat实现。

头文件:/include/graph/operator_reg.h

INFER_FUNC_REG

注册算子的InferShape函数。

头文件:/include/graph/operator_reg.h

REGISTER_CUSTOM_PASS

注册自定义Pass函数。

头文件:/include/register/register_custom_pass.h

VERIFY_FUNC_REG

注册算子的Verify函数。

头文件:/include/graph/operator_reg.h

原型定义接口(REG_OP)

原型定义接口。

头文件:/include/graph/operator_reg.h

原型定义衍生接口

原型定义衍生接口。

头文件:/include/graph/operator_reg.h

C接口

aclGetCustomOpLibPath

获取自定义算子库的路径。

头文件:/include/register/register_base.h

GEStreamAllocationSummaryGetAllNodes

获取根图和子图的所有节点。

头文件:/include/ge/ge_graph_compile_summary.h

GEStreamAllocationSummaryGetAttachedStreamIds

获取根图和子图附属逻辑从流ID。

GEStreamAllocationSummaryGetHcclFollowedStreamNums

获取根图和子图的实际通信从流的物理流数量。

GEStreamAllocationSummaryGetLogicalStreamIds

获取根图和子图的逻辑流ID。

GEStreamAllocationSummaryGetPhysicalStreamNums

获取根图和子图的实际物理流数量。

GEStreamAllocationSummaryGetStringInfos

获取根图和子图的逻辑流信息字符串。

GEStreamAllocationSummaryGetStreamGraphs

获取根图和子图的流图。

GEStreamAllocationSummaryGetUsrStreamLabels

获取根图和子图的用户流标签。

GEStreamAllocationSummaryIsAssignedByStreamPass

获取根图和子图是否由用户注册的流分配Pass分配。

数据类型和配置参数

接口列表

功能描述

头文件/库文件

aclgrphBuildInitialize支持的配置参数

-

头文件:/include/ge/ge_api_types.h

aclgrphBuildModel支持的配置参数

-

InputTensorInfo

-

OutputTensorInfo

-

MemoryType

-

Parser解析接口支持的配置参数

-

ArgDescType

Args地址的类型。

头文件:/include/graph/arg_desc_info.h

HiddenInputSubType

ArgDescInfo隐藏输入地址的类型。

DumpFormat

Dump文件的格式。

头文件:/include/graph/graph.h

options参数说明

-

头文件:/include/ge/ge_api_types.h

Atlas 200I/500 A2 推理产品 不支持该特性

ModelBufferData

内存缓冲区中的序列化模型数据。

  • 头文件:/include/ge/ge_ir_build.h
  • 库文件:libge_compiler.so

ProfDataTypeConfig

Profiling数据类型配置文件。

  • 头文件:/include/ge/ge_prof.h
  • 库文件:libmsprofiler.so

Atlas 200I/500 A2 推理产品 不支持该特性

ProfilingAicoreMetrics

Profiling AI Core metrics。

GE_ERRORNO

GE错误码及宏相关信息。

  • 头文件:/include/ge/ge_api_error_codes.h
  • 库文件:libge_common_base.so

属性名列表

SetAttr接口可设置的属性名称。

头文件:/include/ge/ge_api_types.h