CANN/ge DataFlow接口列表
DataFlow接口列表【免费下载链接】geGEGraph 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。不支持在外部单独构造使用。NAFlowData类flow_graph.h继承于FlowOperator类为DataFlow Graph中的数据节点每个FlowData对应一个输入。libflow_graph.soFlowNode类flow_graph.h继承于FlowOperator类DataFlow Graph中的计算节点。libflow_graph.soFlowGraph类flow_graph.hDataFlow的graph由输入节点FlowData和计算节点FlowNode构成。libflow_graph.soProcessPoint类process_point.hProcessPoint是一个虚基类无法实例化对象。NAFunctionPp类process_point.h继承于ProcessPoint类用来表示Function的计算处理点。libflow_graph.soGraphPp类process_point.h继承自ProcessPoint类用来表示Graph的计算处理点。libflow_graph.soDataFlowInputAttr结构体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的输出节点并返回该图。SetOutputsindex设置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编译配置的文件。SerializeProcessPoint类ProcessPoint的序列化方法。由ProcessPoint的子类去实现该方法的功能。FunctionPp构造函数和析构函数FunctionPp的构造函数和析构函数构造函数会返回一个FunctionPp对象。SetCompileConfigFunctionPp类设置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。SerializeFunctionPp类FunctionPp的序列化方法。GetInvokedClosures获取FunctionPp调用的GraphPp。GraphPp构造函数和析构函数GraphPp构造函数和析构函数构造函数会返回一个GraphPp对象。SetCompileConfigGraphPp类设置GraphPp的json配置文件路径和文件名。配置文件用于AscendGraph的描述和编译。SerializeGraphPp类GraphPp的序列化方法。GetGraphBuilderGraphPp类获取GraphPp中Graph的创建函数。FlowGraphPp构造函数和析构函数FlowGraphPp构造函数和析构函数构造函数会返回一个FlowGraphPp对象。SerializeFlowGraphPp类FlowGraphPp的序列化方法。GetGraphBuilderFlowGraphPp类获取FlowGraphPp中Graph的创建函数。TimeBatchTimeBatch功能是基于UDF为前提的。正常模型每次处理一个数据当需要一次处理一批数据时就需要将这批数据组成一个Batch最基本的Batch方式是将这批N个数据直接拼接然后shape前加N而某些场景需要将某段或者某几段时间数据组成一个batch并且按特定的维度拼接则可以通过使用TimeBatch功能来组Batch。CountBatchCountBatch功能是指基于UDF为计算处理点将多个数据按batchSize组成batch。DataFlow运行接口表 2DataFlow运行接口接口名称简介FeedDataFlowGraphfeed所有输入将所有数据输入到Graph图。FeedDataFlowGraph按索引feed输入将数据按索引输入到Graph图。FeedDataFlowGraphfeed所有FlowMsg将数据输入到Graph图。FeedDataFlowGraph按索引feed FlowMsg将数据按索引输入到Graph图。FeedRawData将原始数据输入到Graph图。FetchDataFlowGraph获取所有输出数据获取图输出数据。FetchDataFlowGraph按索引获取输出数据按索引获取图输出数据。FetchDataFlowGraph获取所有输出FlowMsg获取图输出数据。FetchDataFlowGraph按索引获取输出FlowMsg按索引获取图输出数据。DataFlowInfo数据类型构造函数和析构函数DataFlowInfo构造函数和析构函数。SetUserDataDataFlowInfo数据类型设置用户信息。GetUserDataDataFlowInfo数据类型获取用户信息。SetStartTimeDataFlowInfo数据类型设置数据的开始时间戳。GetStartTimeDataFlowInfo数据类型获取数据的开始时间戳。SetEndTimeDataFlowInfo数据类型设置数据的结束时间戳。GetEndTimeDataFlowInfo数据类型获取数据的结束时间戳。SetFlowFlagsDataFlowInfo数据类型设置数据中的flags。GetFlowFlagsDataFlowInfo数据类型获取数据中的flags。SetTransactionIdDataFlowInfo数据类型设置DataFlow数据传输使用的事务ID。GetTransactionIdDataFlowInfo数据类型获取DataFlow数据传输使用的事务ID。FlowMsg数据类型构造函数和析构函数FlowMsg构造函数和析构函数。GetMsgTypeFlowMsg数据类型获取FlowMsg的消息类型。SetMsgTypeFlowMsg数据类型设置FlowMsg的消息类型。GetTensorFlowMsg数据类型获取FlowMsg中的Tensor指针。GetRetCodeFlowMsg数据类型获取输入FlowMsg中的错误码。SetRetCodeFlowMsg数据类型设置FlowMsg中的错误码。SetStartTimeFlowMsg数据类型设置FlowMsg消息头中的开始时间戳。GetStartTimeFlowMsg数据类型获取FlowMsg消息中的开始时间戳。SetEndTimeFlowMsg数据类型设置FlowMsg消息头中的结束时间戳。GetEndTimeFlowMsg数据类型获取FlowMsg消息中的结束时间戳。SetFlowFlagsFlowMsg数据类型设置FlowMsg消息头中的flags。GetFlowFlagsFlowMsg数据类型获取FlowMsg消息头中的flags。GetTransactionIdFlowMsg数据类型获取FlowMsg消息中的事务ID。SetTransactionIdFlowMsg数据类型设置FlowMsg消息中的事务ID。SetUserDataFlowMsg数据类型设置用户信息。GetUserDataFlowMsg数据类型获取用户信息。GetRawDataFlowMsg数据类型获取RawData类型的数据对应的数据指针和数据大小。AllocTensorFlowBufferFactory数据类型根据shape、data type和对齐大小申请Tensor。AllocTensorMsgFlowBufferFactory数据类型根据shape、data type和对齐大小申请FlowMsg。AllocRawDataMsgFlowBufferFactory数据类型根据输入的size申请一块连续内存用于承载raw data类型的数据。AllocEmptyDataMsgFlowBufferFactory数据类型申请空数据的MsgType类型的message。ToFlowMsgtensor根据输入的Tensor转换成用于承载Tensor的FlowMsg。ToFlowMsgraw data根据输入的raw data转换成用于承载raw data的FlowMsg。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻