RunGraphAsync

函数功能

异步执行指定id对应的Graph图,输出执行结果。

函数原型

Status RunGraphAsync(uint32_t graphId, const std::vector<ge::Tensor> &inputs, RunAsyncCallback callback)

参数说明

参数名

输入/输出

描述

graphId

输入

子图对应的id。

inputs

输入

当前子图对应的输入数据。

callback

输出

当前子图对应的回调函数。

using Status = uint32_t;
using RunAsyncCallback = std::function<void(Status, std::vector<ge::Tensor> &)>;

返回值

参数名

类型

描述

-

Status

GE_CLI_GE_NOT_INITIALIZED:GE未初始化。

SUCCESS:异步执行图成功。

FAILED:异步执行图失败。

约束说明

无。

芯片支持情况

昇腾310 AI处理器,不支持该接口。

昇腾910 AI处理器,支持该接口。

昇腾310P AI处理器,支持该接口。

调用示例

此函数与RunGraph均为执行指定id对应的图,并输出结果,区别于RunGraph的是,该接口:

使用示例:

  1. 用户自定义RunAsyncCallback,来决定如何处理数据, 例如:
    void CallBack(Status result,std::vector<ge::Tensor> &out_tensor) {
    if(result == ge::SUCCESS) {
    // 读取out_tensor数据, 用户根据需求处理数据;
    for(auto &tensor : out_tensor) {
    auto data = tensor.data;
    int64_t length = tensor.length;
    }
    }
    }
  2. 定义好指定图的输入数据const std::vector<ge::Tensor> &inputs;
  3. 调用接口RunGraphAsync(inputs, CallBack);