ExecuteGraphWithStreamAsync
函数功能
异步执行指定id对应的Graph图,输出执行结果。
此函数与RunGraphWithStreamAsync均为执行指定id对应的图,并输出结果,区别于RunGraphWithStreamAsync的是,该接口:
- 该接口执行前需要完成CompileGraph及LoadGraph(异步执行Graph场景)流程。
- inputs和outputs数据类型为gert::Tensor,该类型详细说明请参见Tensor构造函数。
函数原型
Status ExecuteGraphWithStreamAsync(uint32_t graph_id, void *stream,const std::vector<gert::Tensor> &inputs,std::vector<gert::Tensor> &outputs);
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
graphId |
输入 |
子图对应的id。 |
stream |
输入 |
指定图在哪个Stream上执行。 |
inputs |
输入 |
当前子图对应的输入数据,为Device上的内存空间。 |
outputs |
输出 |
当前子图对应的输出数据,为Device上的内存空间。 |
返回值
参数名 |
类型 |
描述 |
---|---|---|
- |
Status |
SUCCESS:异步执行图成功。 FAILED:异步执行图失败。 |
约束说明
- 调用该接口前,需要确定好Device上分配的内存大小。
- 调用该接口前,需要完成CompileGraph及LoadGraph流程。
- 调用该接口前,需要通过aclrtCreateStream创建Stream。
- 得到输出执行结果前,需要通过aclrtSynchronizeStream接口保证Stream上的任务已经执行完。
父主题: Graph运行接口