开发者
下载
[object Object][object Object]
  • 头文件:#include <ge/ge_api.h>
  • 库文件:libge_runner.so
[object Object]

异步运行指定ID对应的Graph图,输出运行结果。该接口包括了编译,加载和运行Graph的操作

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

  • 异步运行。
  • inputs和outputs均为Device上的内存空间,且需要在运行前由用户分配内存大小。如下两种情况如果不分配输出内存,outputs传空:
    • 用户通过设置了外置allocator,如果没有分配输出内存,由GE调用外置allocator的接口分配内存,用户需要在外置allocator析构前释放这块内存。
    • 用户没有设置外置allocator,GE将使用内置allocator分配内存,内存的生命周期与图的生命周期保持一致,用户需要在图卸载前(Session析构前或GEFinalize调用前)主动释放此内存,比如通过调用outputs.clear()方法。若未及时释放,将引发未定义行为。
[object Object]
[object Object]
[object Object][object Object]undefined
[object Object][object Object]undefined
[object Object]
  • 调用该接口前,请先分配好Tensor需要使用的内存。

  • Tensor在Device侧的存储地址,必须32字节对齐,否则可能会出现未定义错误。

  • 调用该接口前,需要通过acl提供的aclrtCreateStream接口创建Stream,且只支持Stream为默认Context的场景。

  • 得到输出运行结果前,需要通过aclrtSynchronizeStream接口保证Stream上的任务已经执行完。

    接口详细说明请参见《Runtime运行时 API》中的“Stream管理”。

[object Object]

请参见