GeSessionExecuteGraphWithStreamAsync
函数功能
使用指定的Session实例,异步执行指定id对应的Graph图,输出执行结果。
此接口与ExecuteGraphWithStreamAsync均为执行指定id对应的图,并输出结果,该接口更多是为了前向兼容上层开源框架的图模式场景;如果用户使用的是8.0.RC3版本及之后的CANN包,则更推荐使用ExecuteGraphWithStreamAsync。
- 该接口执行前需要完成CompileGraph及GeSessionLoadGraph(异步执行Graph场景)流程。
- inputs和outputs数据类型为gert::Tensor,该类型详细说明请参见Tensor构造函数。
函数原型
ge::Status GeSessionExecuteGraphWithStreamAsync(ge::Session &session, uint32_t graph_id, void *stream, const std::vector<gert::Tensor> &inputs, std::vector<gert::Tensor> &outputs);
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
session |
输入 |
加载图的Session实例。 |
graphId |
输入 |
子图对应的id。 |
stream |
输入 |
指定图在哪个Stream上执行。 |
inputs |
输入 |
当前子图对应的输入数据,为Device上的内存空间。 |
outputs |
输出 |
当前子图对应的输出数据,为Device上的内存空间。 |
返回值
参数名 |
类型 |
描述 |
---|---|---|
- |
Status |
SUCCESS:异步执行图成功。 FAILED:异步执行图失败。 |
约束说明
- 调用该接口前,需要确定好Device上分配的内存大小。
- 调用该接口前,需要完成CompileGraph及GeSessionLoadGraph流程。
- 调用该接口前,需要通过aclrtCreateStream创建Stream。
- 得到输出执行结果前,需要通过aclrtSynchronizeStream接口保证Stream上的任务已经执行完。
父主题: Graph运行接口