调度处理器的方法和装置制造方法及图纸

技术编号:20117092 阅读:27 留言:0更新日期:2019-01-16 11:56
本申请提供了调度处理器的方法和装置。调度处理器的方法包括:调度多个处理器中的第一处理器执行多个计算机视觉算子中的第一计算机视觉算子和第二计算机视觉算子,其中,第一计算机视觉算子的输出仅为第二计算机视觉算子的输入,第二计算机视觉算子的输入仅包含第一计算机视觉算子的输出。本申请提供的调度处理器的方法和装置,有助于降低调度处理器所造成的损耗。

The Method and Device of Scheduling Processor

This application provides a method and device for dispatching processors. The method of dispatching processor includes dispatching the first processor of a plurality of processors to execute the first computer vision operator and the second computer vision operator of a plurality of computer vision operators, in which the output of the first computer vision operator is only the input of the second computer vision operator, and the input of the second computer vision operator contains only the output of the first computer vision operator. The method and device of the scheduling processor provided in this application can help to reduce the loss caused by the scheduling processor.

【技术实现步骤摘要】
调度处理器的方法和装置
本申请涉及计算机视觉领域,并且更具体地,涉及调度处理器的方法和装置。
技术介绍
OpenVX是一种低阶级的软件编程软件。通过OpenVX,用户可以访问计算机视觉硬件平台,以执行计算机视觉应用。OpenVX可以支持不同硬件架构的系统,如支持移动设备、嵌入式系统级芯片(systemonchip,SoC)、桌面系统等,更具体地,可以支持多核中央处理单元(centralprocessingunit,CPU)、数字信号处理(digitalsignalprocessing,DSP)单元、图形处理单元(graphicprocessingunit,GPU)、专用视觉处理芯片等处理器。OpenVX可以最大化这些硬件平台的功能和性能的可移植性,同时,对应用程序的影响又很小。计算机视觉应用由一系列的视觉算子组成,每个视觉算子可以实现一个或多个功能。在OpenVX中,可以根据视觉算子之间的输入和输出关系建立视觉算子间的依赖关系,因此,依赖关系用于指示不同的视觉算子在输入和输出之间所存在的关系。计算机视觉应用包括的视觉算子也可以称为视觉函数。例如,一个视觉算子的输出为另一个视觉算子的输出时,这两个视觉算子间存在依赖关系,其中,前一个视觉算子被后一个视觉算子依赖,后一个视觉算子依赖于前一个视觉算子。若两个视觉算子的输入和输出之间没有关系时,这两个视觉算子间没有依赖关系。视觉算子间的依赖关系可以决定视觉算子的执行顺序。具体地,被依赖的视觉算子的执行顺序位于依赖该被依赖视觉算子的视觉算子之前。没有依赖关系的视觉算子可以并行。如,一个视觉算子与另一个视觉算子分别依赖的视觉算子均已被执行,且这两个算子没有依赖关系,则这两个算子可以并行。在OpenVX中,处理器执行计算机视觉应用包括的视觉算子,以加速计算机视觉应用的传统方法如图1所示。其中,一个节点(Node)表示一个视觉算子。图1所示的方法中,调度器101建立视觉算子间的依赖关系后,可以调度处理器102-1执行节点103-1表示的视觉算子。节点103-1表示的视觉算子执行完后,调度器101调用处理器102-2和处理器102-3。其中,处理器102-2执行节点103-2表示的视觉算子。处理器102-3执行节点103-4表示的视觉算子。节点103-2表示的视觉算子和节点103-4表示的视觉算子执行完后,调度器101再次调度处理器102-2和处理器102-1。其中,处理器102-2执行节点103-3表示的视觉算子,处理器102-1执行节点103-5表示的视觉算子。节点103-3表示的视觉算子和节点103-5表示的视觉算子执行完后,调度器101调度处理器102-3执行节点103-6表示的视觉算子。其中,每个视觉算子由哪个处理器执行,通常情况下,是由计算机视觉应用的开发者根据经验指定的。由图1所示的方法可知,传统方法中,调度器每次只调用处理器执行不依赖其他视觉算子的视觉算子,或者只调度处理器执行所依赖的所有视觉算子已经被执行的视觉算子,这使得调度器对处理器的调度次数较多,损耗较大。
技术实现思路
本申请提供调度处理器的方法和装置,有助于降低调度处理器的损耗。第一方面,本申请提供了一种调度处理器的方法。该方法包括:调度多个处理器中的第一处理器执行多个计算机视觉算子中的第一计算机视觉算子和第二计算机视觉算子,其中,第一计算机视觉算子的输出仅为第二计算机视觉算子的输入,第二计算机视觉算子的输入仅包含第一计算机视觉算子的输出。该方法中,计算机视觉算子也可以简称为视觉算子或视觉函数,可以称第一计算机视觉算子与第二计算机视觉算子具有单依赖关系。该方法调度第一处理器执行所依赖的计算机视觉算子已经执行过的第一计算机视觉算子时,还调用第一处理器执行与第一计算机视觉算子具有单依赖关系的第二计算机视觉算子,从而可以减少调度次数,进而有助于降低调度损耗。结合第一方面,在第一种可能的实现方式中,在调度第一处理器执行所述第一计算机视觉算子和第二计算机视觉算子之前,该方法还包括:根据多个计算机视觉算子间的依赖关系,对多个计算机视觉算子进行分组,得到包含第一计算机视觉算子和第二计算机视觉算子的第一计算机视觉算子组。也就是说,根据计算机视觉算子间的依赖关系,将具有单依赖关系的第一计算机视觉算子和第二计算机视觉算子划分到同一个计算机视觉算子分组中。这样,按组调度处理器执行计算机视觉算子时,就可以在同一调度批次中既可以调度第一处理器执行第一计算机视觉算子,又可以调度第一处理器执行第二计算机视觉算子了。结合第一种可能的实现方式,在第二种可能的实现方式中,第一计算机视觉算子组还包括多个计算机视觉算子中的第三计算机视觉算子,第三计算机视觉算子与第一计算机视觉算子和第二计算机视觉算子没有依赖关系。此时,调度第一处理器执行第一计算机视觉算子和第二计算机视觉算子,包括:根据运行时间表中记录的历史运行时间,确定第一计算机视觉算子在第一处理器上的历史运行时间、第二计算机视觉算子在所述第一处理器上的历史运行时间和第三计算机视觉算子在多个处理器中的第二处理器上的历史运行时间的总和,小于或等于第一计算机视觉算子在多个处理器中除第一处理器外任意处理器上的历史运行时间、第二计算机视觉算子在多个处理器中除第一处理器外任意处理器上的历史运行时间和第三计算机视觉算子在多个处理器中除第二处理器外任意处理器上的历史运行时间的总和时,调度第一处理器执行第一计算机视觉算子和第二计算机视觉算子,调度第二处理器执行第三计算机视觉算子。这种方法使得处理器可以使用较少的时间执行第一计算机视觉算子、第二计算机视觉算子和第三计算机视觉算子。具体地,第三计算机视觉算子与第一计算机视觉算子的执行顺序可以根据传统方法确定得到。结合第二种可能的实现方式,在第三种可能的实现方式中,第二处理器和第一处理器可以是同一个处理器。也就是说,可以调用同一个处理器执行第一计算机视觉算子和第二计算机视觉算子。结合第一种至第三种中任意一种可能的实现方式,在第四种可能的实现方式中,根据多个计算机视觉算子间的依赖关系,对多个计算机视觉算子进行分组,包括:将多个计算机视觉算子中,根据多个计算机视觉算子间的依赖关系确定并行的计算机视觉算子,以及与该并行的计算机视觉算子中的计算机视觉算子具有单依赖关系的计算机视觉算子分为同一组计算机视觉算子,单依赖关系用于指示两个计算机视觉算子中的前一个计算机视觉算子的输出仅为后一个计算机视觉算子的输入,后一个计算机视觉算子的输入仅包含前一个计算机视觉算子的输出。具体地,可以根据传统方法确定多个计算机视觉算子中具有相同顺序的计算机算子,并将这些具有相同执行顺序的计算机视觉算子分为同一组。此外,还将与这些具有相同执行顺序的计算机视觉算子中的计算机视觉算子具有单依赖关系的计算机视觉算子分到这个组中。这使得每个组中可以包括更多的计算机视觉算子,从而使得划分的组的数量较少,进而使得按组调度处理器时,调度次数可以较少,最终可以降低调度损耗。第二方面,本申请提供了一种调度处理器的装置。该装置包括主处理器、存储器和多个处理器。主处理器用于调度多个处理器中的第一处理器执行多个计算机视觉算子中的第一计算机视觉算子和第二计算机视觉算子,其中,第一计算机视觉算子的输出仅为第本文档来自技高网
...

【技术保护点】
1.一种调度处理器的方法,其特征在于,包括:调度多个处理器中的第一处理器执行多个计算机视觉算子中的第一计算机视觉算子和第二计算机视觉算子,其中,所述第一计算机视觉算子的输出仅为所述第二计算机视觉算子的输入,所述第二计算机视觉算子的输入仅包含所述第一计算机视觉算子的输出。

【技术特征摘要】
1.一种调度处理器的方法,其特征在于,包括:调度多个处理器中的第一处理器执行多个计算机视觉算子中的第一计算机视觉算子和第二计算机视觉算子,其中,所述第一计算机视觉算子的输出仅为所述第二计算机视觉算子的输入,所述第二计算机视觉算子的输入仅包含所述第一计算机视觉算子的输出。2.根据权利要求1所述的方法,其特征在于,在调度所述第一处理器执行所述第一计算机视觉算子和所述第二计算机视觉算子之前,所述方法还包括:根据所述多个计算机视觉算子间的依赖关系,对所述多个计算机视觉算子进行分组,得到包含所述第一计算机视觉算子和所述第二计算机视觉算子的第一计算机视觉算子组。3.根据权利要求2所述的方法,其特征在于,所述第一计算机视觉算子组还包括所述多个计算机视觉算子中的第三计算机视觉算子,所述第三计算机视觉算子与所述第一计算机视觉算子和所述第二计算机视觉算子没有依赖关系;其中,所述调度多个处理器中的第一处理器执行多个计算机视觉算子中的第一计算机视觉算子和第二计算机视觉算子,包括:根据运行时间表中记录的历史运行时间,确定所述第一计算机视觉算子在所述第一处理器上的历史运行时间、所述第二计算机视觉算子在所述第一处理器上的历史运行时间和所述第三计算机视觉算子在所述多个处理器中的第二处理器上的历史运行时间的总和,小于或等于所述第一计算机视觉算子在所述多个处理器中除所述第一处理器外任意处理器上的历史运行时间、所述第二计算机视觉算子在所述多个处理器中除所述第一处理器外任意处理器上的历史运行时间和所述第三计算机视觉算子在所述多个处理器中除所述第二处理器外任意处理器上的历史运行时间的总和时,调度所述第一处理器执行所述第一计算机视觉算子和所述第二计算机视觉算子,调度所述第二处理器执行所述第三计算机视觉算子。4.根据权利要求3所述的方法,其特征在于,所述第一处理器与所述第二处理器为同一个处理器。5.根据权利要求2至4中任一项所述的方法,其特征在于,所述根据所述多个计算机视觉算子间的依赖关系,对所述多个计算机视觉算子进行分组,包括:将所述多个计算机视觉算子中,根据所述多个计算机视觉算子间的依赖关系确定并行的计算机视觉算子,以及与所述并行的计算机视觉算子中的计算机视觉算子具有单依赖关系的计算机视觉算子分为同一组计算机视觉算子,所述单依赖关系用于指示两个计算机视觉算子中的前一个计算机视觉算子的输出仅为后一个计算机视觉算子的输入,所述后一个计算机视觉算子的输入仅包含所述前一个计算机视觉算子的输出。6.一种调度处理器的装置,其特征在于,包括:调度模块,用于调度多个处理器中的第一处理器执行多个计算机视觉算子中的第一计算机视觉算子和第二计算机视觉算子,其中,所述第一计算机视觉算子的输出仅为所述第二计算机视觉算子的输入,所述第二计算机...

【专利技术属性】
技术研发人员:陈全福陈廉政张锐郭土华游骅
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1