
GE引擎API完全参考从图构建到执行监控的15个核心接口详解【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。GE提供对PyTorch、TensorFlow前端的友好接入能力并同时支持onnx、pb等主流模型格式的解析与编译。一、环境初始化与资源管理1. GEInitializeV2启动GE引擎GE引擎的入口函数用于初始化昇腾计算环境。支持通过配置参数设置设备ID、日志级别等核心选项确保后续图操作的资源准备就绪。GE_FUNC_VISIBILITY Status GEInitializeV2(const std::mapAscendString, AscendString options);2. GEFinalizeV2释放引擎资源与初始化函数配对使用用于释放GE引擎占用的内存、设备上下文等系统资源避免内存泄漏。GE_FUNC_VISIBILITY Status GEFinalizeV2();3. GEGetErrorMsgV3错误信息查询当接口调用失败时通过该函数获取详细错误描述辅助问题定位与调试。GE_FUNC_VISIBILITY ge::AscendString GEGetErrorMsgV3();二、会话管理与图编译4. GeSession创建执行会话会话是GE图执行的基本单元通过构造函数传入配置参数如设备类型、优化级别管理图的生命周期。explicit GeSession(const std::mapAscendString, AscendString options);5. CompileGraph图编译优化将构建的计算图进行优化如算子融合、内存复用并生成可执行计划。支持动态输入维度的编译场景。Status CompileGraph(uint32_t graph_id, const std::vectorge::Tensor inputs);三、计算图构建基础6. AddNodeByOp添加算子节点向计算图中添加算子节点需传入预定义的算子描述Operator对象定义节点的输入输出、属性等信息。GNode AddNodeByOp(const Operator op);7. AddDataEdge连接数据依赖在两个节点间建立数据边指定源节点输出端口与目标节点输入端口构建图的数据流拓扑。graphStatus AddDataEdge(GNode src_node, const int32_t src_port_index, GNode dst_node, const int32_t dst_port_index);8. CreateTensor创建输入张量生成模型输入张量需指定数据类型、维度、格式等信息支持从文件加载数据或内存直接构造。std::unique_ptrTensor CreateTensor(const T *value, const int64_t *dims, int64_t dim_num, DataType dt, Format format);9. CreateConst创建常量节点生成常量张量节点如权重参数支持整数、浮点数等多种数据类型常量值在图编译阶段固化。EsTensorHolder CreateConst(const std::vectorint64_t value, const std::vectorint64_t dims);四、图执行与监控10. ExecuteGraphWithStreamAsync异步执行图在指定流上异步执行编译后的图支持多流并行以提升设备利用率输入输出通过Tensor对象传递。Status ExecuteGraphWithStreamAsync(uint32_t graph_id, void *stream, const std::vectorgert::Tensor inputs, std::vectorgert::Tensor outputs);11. GetCompiledGraphSummary获取编译摘要获取图编译后的详细信息包括算子数量、内存占用、流分配等统计数据用于性能分析。CompiledGraphSummaryPtr GetCompiledGraphSummary(uint32_t graph_id);12. GEStreamAllocationSummaryGetLogicalStreamIds流分配查询从编译摘要中提取逻辑流ID列表分析多流并行策略的实际分配情况。ge::Status GEStreamAllocationSummaryGetLogicalStreamIds(const ge::CompiledGraphSummary compiled_graph_summary, std::vectorint64_t logical_stream_ids);五、高级功能接口13. InferShapeAndType形状类型推导自动推导节点输出张量的形状和数据类型确保图拓扑的一致性减少手动配置错误。graphStatus InferShapeAndType();14. GetAttrValue属性值查询获取算子节点的属性值如卷积核大小、激活函数类型支持动态调整算子行为。Status GetAttrValue(const AttrInfoPtr attrs_info, T value);15. GetTensorHolderFromNode张量句柄获取从节点输出端口获取张量句柄用于访问计算结果或作为其他节点的输入。EsCTensorHolder *GetTensorHolderFromNode(const ge::GNode node, int32_t output_index);六、接口使用最佳实践资源管理始终确保GEInitializeV2与GEFinalizeV2成对调用避免资源泄漏。图构建流程建议按创建会话→添加节点→连接边→编译图→执行的顺序调用接口。错误处理接口返回非SUCCESS状态时立即调用GEGetErrorMsgV3获取详细信息。性能优化多流执行时通过GEStreamAllocationSummary系列接口监控流分配效率。完整API文档可参考项目中的docs/graph_engine_api/目录包含每个接口的参数说明、返回值及使用示例。通过合理组合这些核心接口可构建高效的昇腾模型执行流程。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考