模块架构

VP模块架构

image

通过VP模块中的API创建算子的任务句柄,而每种算子接口都有着至少一种硬件实现,如remap算子可执行在DSP、GDC两种种硬件上, 在UCP中可对应的backend有DSP及GDC两种。创建好任务句柄后,可通过调度参数指定backend、执行模式及其他参数,将任务部署到对应的处理单元上。 而在整个从任务创建到任务提交、释放的过程中,UCP Service层对各个环节均提供接口及功能支持。

算子执行流程

此处以Rotate算子为例,展示了算子实际的调用方法和流程,其他算子的使用方法基本于其流程一致。

image

注解

虚线框表示该步骤为非必须步骤,可通过复用参数、使用默认参数等方式略过。

1.准备输入输出数据:即申请图片的内存空间并构建相关的描述信息。

2.创建算子任务:此步骤为直接调用算子任务接口,同时传入算子执行所需的参数,执行完成后输出UCP任务句柄。

3.提交任务:通过传入调度参数将算子任务提交到不同处理核心,任务提交支持指定backend,如不指定则系统会自动适配backend。

4.指定接口等待任务结束:任务结束时,系统会根据不同的执行状态返回不同的返回值,此时,您可根据返回值来查看任务执行结果。

5.销毁任务:任务成功执行后需要销毁任务,并释放申请的内存。