
RunGraphWithStreamAsync【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge头文件/库文件头文件#include ge/ge_api.h库文件libge_runner.so功能说明异步运行指定ID对应的Graph图输出运行结果。该接口包括了编译加载和运行Graph的操作。此函数与RunGraph均为运行指定ID对应的图并输出结果区别于RunGraph的是该接口异步运行。inputs和outputs均为Device上的内存空间且需要在运行前由用户分配内存大小。如下两种情况如果不分配输出内存ouputs传空用户通过RegisterExternalAllocator设置了外置allocator如果没有分配输出内存由GE调用外置allocator的接口分配内存用户需要在外置allocator析构前释放这块内存。用户没有设置外置allocatorGE将使用内置allocator分配内存内存的生命周期与图的生命周期保持一致用户需要在图卸载前Session析构前或GEFinalize调用前主动释放此内存比如通过调用outputs.clear()方法。若未及时释放将引发未定义行为。函数原型Status RunGraphWithStreamAsync(uint32_t graph_id, void *stream, const std::vectorTensor inputs,std::vectorTensor outputs)参数说明参数名输入/输出说明graph_id输入要运行图对应的ID。stream输入指定图在哪个Stream上运行。inputs输入计算图输入Tensor为Device上的内存空间。如果通过options指定了ge.exec.hostInputIndexes参数对应索引的Tensor可以为Host上的内存空间。outputs输出计算图输出Tensor为Device上的内存空间。返回值说明参数名类型说明-StatusSUCCESS异步运行图成功。FAILED异步运行图失败。约束说明调用该接口前请先分配好Tensor需要使用的内存。Tensor在Device侧的存储地址必须32字节对齐否则可能会出现未定义错误。调用该接口前需要通过acl提供的aclrtCreateStream接口创建Stream且只支持Stream为默认Context的场景。得到输出运行结果前需要通过aclrtSynchronizeStream接口保证Stream上的任务已经执行完。接口详细说明请参见《Runtime运行时 API》中的“Stream管理”。调用示例请参见异步运行Graph。【免费下载链接】geGEGraph Engine是面向昇腾的图编译器和执行器提供了计算图优化、多流并行、内存复用和模型下沉等技术手段加速模型执行效率减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考