文档
注册

接口调用流程

开发应用时,应用程序中必须包含运行管理资源申请的代码逻辑,关于运行管理资源申请的接口调用流程,请先参见pyACL接口调用流程,了解整体接口调用流程,再查看本节中的资源申请、释放流程说明。

运行管理资源包括:DeviceContextStream

运行管理资源申请

您需要按顺序依次申请如下运行管理资源:Device、Context、Stream,确保可以使用这些资源执行运算、管理任务。

图1 运行管理资源申请流程
  • 创建Context、Stream的方式分为隐式创建和显式创建,其适用场景有所不同,推荐使用显式创建。
    • 隐式创建Context和Stream:适合简单、无复杂交互逻辑的应用,但缺点在于,在多线程编程中,每个线程都使用默认Context或默认Stream,默认Stream中任务的执行顺序取决于操作系统线程调度的顺序。
    • 显式创建Context和Stream:适合大型、复杂交互逻辑的应用,且便于提高程序的可读性、可维护性。
  • 关键接口的说明如下:
    1. 申请运行管理资源时,需按顺序依次申请:DeviceContextStream
    2. (可选)调用acl.rt.get_run_mode接口获取软件栈的运行模式,根据运行模式来判断后续的内存申请接口调用逻辑。

      如果查询结果为ACL_DEVICE,则数据传输时仅需申请Device上的内存。

      数据传输的详细介绍请参见数据传输

运行管理资源释放

所有数据处理都结束后,需要按顺序依次释放运行管理资源:Stream、Context、Device。

图2 运行管理资源释放流程

关键接口的说明如下:

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词