RunGraphWithStreamAsync
产品支持情况
|
产品 |
是否支持 |
|---|---|
|
|
√ |
|
|
√ |
|
|
x |
|
|
√ |
|
|
√ |
头文件/库文件
- 头文件:/include/ge/ge_api_v2.h
- 库文件:libge_runner_v2.so
功能说明
异步运行指定ID对应的Graph图,输出执行结果。
- 本接口与RunGraph和RunGraphAsync接口互斥;若在调用本接口前未执行LoadGraph完成图加载,则本接口将自动调用LoadGraph以完成加载。
- 本接口与RunGraph均为运行指定ID对应的图,并输出结果,区别于RunGraph的是,该接口:
- 异步运行。
- inputs和outputs均为Device上的内存空间,且需要在运行前由用户分配内存大小。如下两种情况用户可以不分配输出内存:
- 用户通过RegisterExternalAllocator设置了外置allocator,如果没有分配输出内存,由GE调用外置allocator的接口分配内存,用户需要在外置allocator析构前释放这块内存。
- 用户没有设置外置allocator,动态图场景,如果没有分配输出内存,GE使用内置allocator分配内存,内存的生命周期与图的生命周期保持一致,用户需要在图卸载前(GeSession析构前、GEFinalize前)主动释放此内存。
函数原型
1
|
Status RunGraphWithStreamAsync(uint32_t graph_id, void *stream,const std::vector<gert::Tensor> &inputs,std::vector<gert::Tensor> &outputs) |
参数说明
返回值说明
|
参数名 |
类型 |
说明 |
|---|---|---|
|
- |
Status |
SUCCESS:异步运行图成功。 FAILED:异步运行图失败。 |
约束说明
父主题: GESession API