当前位置: 首页 > news >正文

CANN/ge DataFlow接口列表

DataFlow接口列表

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

您可以在“${INSTALL_DIR}/include/flow_graph”路径下查看对应接口的头文件。

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

接口分类头文件路径简介对应的库文件
FlowOperator类flow_graph.hFlowOperator类是DataFlow Graph的节点基类,继承于GE的Operator。不支持在外部单独构造使用。NA
FlowData类flow_graph.h继承于FlowOperator类,为DataFlow Graph中的数据节点,每个FlowData对应一个输入。libflow_graph.so
FlowNode类flow_graph.h继承于FlowOperator类,DataFlow Graph中的计算节点。libflow_graph.so
FlowGraph类flow_graph.hDataFlow的graph,由输入节点FlowData和计算节点FlowNode构成。libflow_graph.so
ProcessPoint类process_point.hProcessPoint是一个虚基类,无法实例化对象。NA
FunctionPp类process_point.h继承于ProcessPoint类,用来表示Function的计算处理点。libflow_graph.so
GraphPp类process_point.h继承自ProcessPoint类,用来表示Graph的计算处理点。libflow_graph.so
DataFlowInputAttr结构体flow_attr.h定义timeBatch和countBatch两种功能实现UDF组batch能力。libflow_graph.so

[!NOTE]说明 头文件中出现的char_t类型是char类型的别名。

DataFlow构图接口

表 1DataFlow构图接口

接口名称简介
FlowOperator类FlowOperator类是DataFlow Graph的节点基类,继承于GE的Operator。
FlowData的构造函数和析构函数FlowData构造函数和析构函数,构造函数会返回一个FlowData节点。
FlowNode构造函数和析构函数FlowNode构造函数和析构函数,构造函数返回一个FlowNode节点。
SetInput给FlowNode设置输入,表示将src_op的第src_index个输出作为FlowNode的第dst_index个输入,返回设置好输入的FlowNode节点。
AddPp给FlowNode添加映射的ProcessPoint,当前一个FlowNode仅能添加一个ProcessPoint,添加后会默认将FlowNode的输入输出和ProcessPoint的输入输出按顺序进行映射。
MapInput给FlowNode映射输入,表示将FlowNode的第node_input_index个输入给到ProcessPoint的第pp_input_index个输入,并且给ProcessPoint的该输入设置上attrs里的所有属性,返回映射好的FlowNode节点。该函数可选,不被调用时会默认按顺序映射FlowNode和ProcessPoint的输入。
MapOutput给FlowNode映射输出,表示将ProcessPoint的第pp_output_index个输出给到FlowNode的第node_output_index个输出,返回映射好的FlowNode节点。
SetBalanceScatter设置节点balance scatter属性,具有balance scatter属性的UDF可以使用balance options设置负载均衡输出。
SetBalanceGather设置节点balance gather属性,具有balance gather属性的UDF可以使用balance options设置负载均衡亲和输出。
FlowGraph构造函数和析构函数FlowGraph构造函数和析构函数,构造函数会返回一张空的FlowGraph图。
SetInputs设置FlowGraph的输入节点,会自动根据节点的输出连接关系构建出一张FlowGraph图,并返回该图。
SetOutputs设置FlowGraph的输出节点,并返回该图。
SetOutputs(index)设置FlowGraph中的FlowNode和FlowNode输出index的关联关系,并返回该图。常用于设置FlowNode部分输出场景,比如FlowNode1有2个输出,但是作为FlowNode2输入的时候只需要FlowNode1的一个输出,这种情况下可以设置FlowNode1的一个输出index。
SetContainsNMappingNode设置FlowGraph是否包含n_mapping节点。
SetInputsAlignAttrs设置FlowGraph中的输入对齐属性。
const ge::Graph &ToGeGraph() const-const.md)将FlowGraph转换到GE的Graph。
SetGraphPpBuilderAsync设置FlowGraph中的GraphPp的Builder是否异步执行。
SetExceptionCatch设置用户异常捕获功能是否开启。
ProcessPoint析构函数ProcessPoint析构函数。
GetProcessPointType获取ProcessPoint的类型。
GetProcessPointName获取ProcessPoint的名称。
GetCompileConfig获取ProcessPoint编译配置的文件。
Serialize(ProcessPoint类)ProcessPoint的序列化方法。由ProcessPoint的子类去实现该方法的功能。
FunctionPp构造函数和析构函数FunctionPp的构造函数和析构函数,构造函数会返回一个FunctionPp对象。
SetCompileConfig(FunctionPp类)设置FunctionPp的json配置文件名字和路径,该配置文件用于将FunctionPp和UDF进行映射。
AddInvokedClosure (添加调用的GraphPp).md)添加FunctionPp调用的GraphPp,返回添加好的FunctionPp。
AddInvokedClosure (添加调用的ProcessPoint子类).md)添加FunctionPp调用的GraphPp,返回添加好的FunctionPp。
AddInvokedClosure (添加调用的FlowGraphPp).md)添加FunctionPp调用的FlowGraphPp,返回添加好的FunctionPp。
SetInitParam设置FunctionPp的初始化参数,返回设置好的FunctionPp。
Serialize(FunctionPp类)FunctionPp的序列化方法。
GetInvokedClosures获取FunctionPp调用的GraphPp。
GraphPp构造函数和析构函数GraphPp构造函数和析构函数,构造函数会返回一个GraphPp对象。
SetCompileConfig(GraphPp类)设置GraphPp的json配置文件路径和文件名。配置文件用于AscendGraph的描述和编译。
Serialize(GraphPp类)GraphPp的序列化方法。
GetGraphBuilder(GraphPp类)获取GraphPp中Graph的创建函数。
FlowGraphPp构造函数和析构函数FlowGraphPp构造函数和析构函数,构造函数会返回一个FlowGraphPp对象。
Serialize(FlowGraphPp类)FlowGraphPp的序列化方法。
GetGraphBuilder(FlowGraphPp类)获取FlowGraphPp中Graph的创建函数。
TimeBatchTimeBatch功能是基于UDF为前提的。
正常模型每次处理一个数据,当需要一次处理一批数据时,就需要将这批数据组成一个Batch,最基本的Batch方式是将这批N个数据直接拼接,然后shape前加N,而某些场景需要将某段或者某几段时间数据组成一个batch,并且按特定的维度拼接,则可以通过使用TimeBatch功能来组Batch。
CountBatchCountBatch功能是指基于UDF为计算处理点将多个数据按batchSize组成batch。

DataFlow运行接口

表 2DataFlow运行接口

接口名称简介
FeedDataFlowGraph(feed所有输入)将所有数据输入到Graph图。
FeedDataFlowGraph(按索引feed输入)将数据按索引输入到Graph图。
FeedDataFlowGraph(feed所有FlowMsg)将数据输入到Graph图。
FeedDataFlowGraph(按索引feed FlowMsg)将数据按索引输入到Graph图。
FeedRawData将原始数据输入到Graph图。
FetchDataFlowGraph(获取所有输出数据)获取图输出数据。
FetchDataFlowGraph(按索引获取输出数据)按索引获取图输出数据。
FetchDataFlowGraph(获取所有输出FlowMsg)获取图输出数据。
FetchDataFlowGraph(按索引获取输出FlowMsg)按索引获取图输出数据。
DataFlowInfo数据类型构造函数和析构函数DataFlowInfo构造函数和析构函数。
SetUserData(DataFlowInfo数据类型)设置用户信息。
GetUserData(DataFlowInfo数据类型)获取用户信息。
SetStartTime(DataFlowInfo数据类型)设置数据的开始时间戳。
GetStartTime(DataFlowInfo数据类型)获取数据的开始时间戳。
SetEndTime(DataFlowInfo数据类型)设置数据的结束时间戳。
GetEndTime(DataFlowInfo数据类型)获取数据的结束时间戳。
SetFlowFlags(DataFlowInfo数据类型)设置数据中的flags。
GetFlowFlags(DataFlowInfo数据类型)获取数据中的flags。
SetTransactionId(DataFlowInfo数据类型)设置DataFlow数据传输使用的事务ID。
GetTransactionId(DataFlowInfo数据类型)获取DataFlow数据传输使用的事务ID。
FlowMsg数据类型构造函数和析构函数FlowMsg构造函数和析构函数。
GetMsgType(FlowMsg数据类型)获取FlowMsg的消息类型。
SetMsgType(FlowMsg数据类型)设置FlowMsg的消息类型。
GetTensor(FlowMsg数据类型)获取FlowMsg中的Tensor指针。
GetRetCode(FlowMsg数据类型)获取输入FlowMsg中的错误码。
SetRetCode(FlowMsg数据类型)设置FlowMsg中的错误码。
SetStartTime(FlowMsg数据类型)设置FlowMsg消息头中的开始时间戳。
GetStartTime(FlowMsg数据类型)获取FlowMsg消息中的开始时间戳。
SetEndTime(FlowMsg数据类型)设置FlowMsg消息头中的结束时间戳。
GetEndTime(FlowMsg数据类型)获取FlowMsg消息中的结束时间戳。
SetFlowFlags(FlowMsg数据类型)设置FlowMsg消息头中的flags。
GetFlowFlags(FlowMsg数据类型)获取FlowMsg消息头中的flags。
GetTransactionId(FlowMsg数据类型)获取FlowMsg消息中的事务ID。
SetTransactionId(FlowMsg数据类型)设置FlowMsg消息中的事务ID。
SetUserData(FlowMsg数据类型)设置用户信息。
GetUserData(FlowMsg数据类型)获取用户信息。
GetRawData(FlowMsg数据类型)获取RawData类型的数据对应的数据指针和数据大小。
AllocTensor(FlowBufferFactory数据类型)根据shape、data type和对齐大小申请Tensor。
AllocTensorMsg(FlowBufferFactory数据类型)根据shape、data type和对齐大小申请FlowMsg。
AllocRawDataMsg(FlowBufferFactory数据类型)根据输入的size申请一块连续内存,用于承载raw data类型的数据。
AllocEmptyDataMsg(FlowBufferFactory数据类型)申请空数据的MsgType类型的message。
ToFlowMsg(tensor)根据输入的Tensor转换成用于承载Tensor的FlowMsg。
ToFlowMsg(raw data)根据输入的raw data转换成用于承载raw data的FlowMsg。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.gsyq.cn/news/1563185.html

相关文章:

  • Playwright MCP:重新定义AI时代的浏览器自动化范式
  • 嵌入式GUI远程调试:emWin VNC服务器与触摸驱动集成实战
  • 嵌入式GUI显示驱动适配:emWin FlexColor驱动与GUI_PORT_API接口实战解析
  • 嵌入式GUI多任务架构实战:emWin与RTOS集成优化指南
  • PCL2启动器Java环境配置终极指南:3步解决所有兼容性问题
  • 2026 淘宝代运营服务商实力排名|中小商家实测靠谱机构测评 - 羊城派
  • 抖店一件代发上货软件哪个好用?抖掌柜功能实测 - 抖掌柜
  • Audiveris如何让纸质乐谱在MuseScore中重获新生:一场音乐数字化的奇妙旅程
  • 揭秘PartPacker核心技术:Dual Volume Packing如何实现零件级3D生成突破
  • 报考合肥高科经济技工学校需要多少分?录取门槛一览 - 教育为先
  • 工业盾牌:06 安全品牌大乱斗:Pilz、Sick、西门子、汇川谁更靠谱?
  • RxJavaSample项目入门指南:Android响应式编程的完美起点
  • 本地部署AI协作系统:Ollama+Qwen3+OpenClaw农业实践
  • 【字节跳动】今日头条“新闻造假源头工厂”全产业链完整拆解版
  • 鸿蒙应用开发实战:从零学会自定义组件
  • AI编程为何拉长Debug时间?揭秘提示工程与模型幻觉的调试陷阱
  • 深度技术架构解析:HIDAPI跨平台设备通信库的系统级API封装设计
  • 2026年GEO源头厂商权威深度评测:杭州爱搜索领衔十大服务商选型避坑指南 - 品牌报告
  • Gemini多模态实战:图片+代码+文本协同工作流
  • 5分钟搭建拼多多爬虫:零基础掌握电商数据采集实战技巧
  • 欧洲卡车模拟2终极智能驾驶助手:让长途驾驶变轻松的免费方案
  • CesiumJS文化遗产数字化解决方案:构建下一代沉浸式虚拟博物馆的技术架构与实践指南
  • 2026年6月Surface微软官方售后网点最新地址核验清单 - 资讯速览
  • 2026年中国出海展会展台设计搭建行业选购指南:全球参展商实操参考 - 寻茫精选
  • 英雄联盟玩家的智能助手:League Akari 全方位提升游戏体验
  • 无名杀游戏异步编程深度解析:从Step到Async的技能开发进阶指南
  • 卫星揭示:欧洲和中东GPS信号干扰规模远超预期!
  • 智己LS6对比问界M7:哪一款更值得买?参数与场景拆解 - 外贸老黄
  • GEO源码搭建主体爱搜索GEO:企业AI搜索优化的底层逻辑与实战指南 - 品牌报告
  • 2026浙江GEO优化公司深度测评:五强榜单及企业避坑指南 - 品牌报告