System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于计算机,尤其涉及一种神经网络处理器的任务调度方法、装置、终端设备及计算机可读存储介质。
技术介绍
1、神经网络处理器(neural-network processing units,npu)是专门应用于网络应用数据包的处理器,采用了“数据驱动并行计算”的架构,可以用来处理视频、图像类的海量多媒体数据。在主控处理器(advanced risc machines,arm)下发神经网络模型的算子任务至npu,npu执行神经网络模型的算子运算任务并通知主控处理器,其中,神经网络模型的算子运算任务的任务描述符存放在双倍速率同步动态随机存储器(double data rate,ddr)上,算子运算任务的任务描述符需要由直接存储器访问(direct memory access,dma)搬运到npu内部的控制处理单元(control unit,cu)的数据存储单元(data memory,dm),再根据算子运算任务的任务描述符中算子运算的代码段的地址信息,将神经网络模型的算子代码段从直接存储器访问(direct memory access,dma)搬运到npu内部的控制处理单元(control unit,cu)的程序存储单元(program memory,pm),进而执行神经网络模型的算子任务。
2、相关技术中,神经网络模型的算子运算任务的调度采用的是串行调度,前一个神经网络模型的算子运算任务执行完毕后才能执行下一个神经网络模型的算子运算任务,因此,对于多个算子运算任务而言,算子运算任务的调度方式导致算子运算任务的执行效率
技术实现思路
1、本申请实施例提供的神经网络处理器的任务调度方法、装置及终端设备,可以解决对于多个算子任务而言,算子任务的调度方式导致算子任务的执行效率低的问题。
2、第一方面,本申请实施例提供了一种神经网络处理器的任务调度方法,包括:
3、根据当前队列中算子任务块的执行通知的数目,确定任务调度方式,其中,所述执行通知携带有算子任务块的任务描述符;根据所述任务调度方式,确定待执行算子任务块;根据所述待执行算子任务块的任务描述符,控制直接存储器访问将所述待执行算子任务块中算子运算任务的任务描述符,从主控存储器搬运至自身的数据存储单元;在所述待执行算子任务块中算子运算任务的任务描述符搬运结束的情况下,根据所述待执行算子任务块中算子运算任务的任务描述符,执行所述待执行算子任务块中算子运算任务的子任务。
4、第二方面,本申请实施例提供了一种神经网络处理器的任务调度装置,包括:
5、调度方式确认模块,用于根据当前队列中算子任务块的执行通知的数目,确定任务调度方式,其中,所述执行通知携带有算子任务块的任务描述符;待执行算子任务块确认模块,用于根据所述任务调度方式,确定待执行算子任务块;描述符搬运模块,用于根据所述待执行算子任务块的任务描述符,控制直接存储器访问将所述待执行算子任务块中算子运算任务的任务描述符,从主控存储器搬运至自身的数据存储单元;算子运算任务执行模块,用于在所述待执行算子任务块中算子运算任务的任务描述符搬运结束的情况下,根据所述待执行算子任务块中算子运算任务的任务描述符,执行所述待执行算子任务块中算子运算任务的子任务。
6、第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器、神经网络处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面中任一项的神经网络处理器的任务调度方法。
7、第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述第一方面中任一项的神经网络处理器的任务调度方法。
8、第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项的神经网络处理器的任务调度方法。
9、可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
10、本申请实施例与现有技术相比存在的有益效果是:通过根据当前队列中算子任务块的执行通知的数目,确定任务调度方式,其中,执行通知携带有算子任务块的任务描述符,进而根据任务调度方式,确定待执行算子任务块,再根据待执行算子任务块的任务描述符,控制直接存储器访问将待执行算子任务块中算子运算任务的任务描述符,从主控存储器搬运至自身的数据存储单元,从而在待执行算子任务块中算子运算任务的任务描述符搬运结束的情况下,根据待执行算子任务块中算子运算任务的任务描述符,执行待执行算子任务块中算子运算任务的子任务。由此,根据当前队列中算子任务块的执行通知的数目,确定任务调度方式,根据任务调度方式确定待执行算子任务块,进而根据待执行算子任务块的任务描述符以及待执行算子任务块中算子运算任务的任务描述符,执行待执行算子任务块中算子运算任务的子任务,从而提高了算子运算任务的执行效率。
本文档来自技高网...【技术保护点】
1.一种神经网络处理器的任务调度方法,其特征在于,包括:
2.如权利要求1所述的神经网络处理器的任务调度方法,其特征在于,所述根据当前队列中算子任务块的执行通知的数目,确定任务调度方式,包括:
3.如权利要求2所述的神经网络处理器的任务调度方法,其特征在于,所述根据所述任务调度方式,确定待执行算子任务块,包括:
4.如权利要求3所述的神经网络处理器的任务调度方法,其特征在于,所述根据所述5待执行算子任务块的任务描述符,控制直接存储器访问将所述待执行算子任务块中算子运算任务的任务描述符,从主控存储器搬运至自身的数据存储单元,包括:
5.如权利要求1-4任一项所述的神经网络处理器的任务调度方法,其特征在于,所述任务描述符的生成方式,包括:
6.如权利要求5所述的神经网络处理器的任务调度方法,其特征在于,在子任务的任务类型为搬运任务的情况下,根据所述子任务的参数的所属的存储空间,对所述子任务的参数进行压缩,将压缩后的参数写入任务描述符。
7.如权利要求5所述的神经网络处理器的任务调度方法,其特征在于,所述任务描述符
8.如权利要求7所述的神经网络处理器的任务调度方法,其特征在于,所述子任务的任务描述符控制字和参数写入任务描述符的方式,包括:
9.如权利要求8所述的神经网络处理器的任务调度方法,其特征在于,所述子任务的参数包括参数类型和参数对应的值,所述根据任务描述符的当前地址递减位置,从所述任务描述符的低地址方向增加子任务的参数,包括:
10.一种神经网络处理器的任务调度装置,其特征在于,包括:
11.一种终端设备,包括存储器、处理器、神经网络处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如权利要求1至9任一项所述的方法。
12.一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如权利要求1至9任一项所述的方法。
...【技术特征摘要】
1.一种神经网络处理器的任务调度方法,其特征在于,包括:
2.如权利要求1所述的神经网络处理器的任务调度方法,其特征在于,所述根据当前队列中算子任务块的执行通知的数目,确定任务调度方式,包括:
3.如权利要求2所述的神经网络处理器的任务调度方法,其特征在于,所述根据所述任务调度方式,确定待执行算子任务块,包括:
4.如权利要求3所述的神经网络处理器的任务调度方法,其特征在于,所述根据所述5待执行算子任务块的任务描述符,控制直接存储器访问将所述待执行算子任务块中算子运算任务的任务描述符,从主控存储器搬运至自身的数据存储单元,包括:
5.如权利要求1-4任一项所述的神经网络处理器的任务调度方法,其特征在于,所述任务描述符的生成方式,包括:
6.如权利要求5所述的神经网络处理器的任务调度方法,其特征在于,在子任务的任务类型为搬运任务的情况下,根据所述子任务的参数的所属的存储空间,对所述子任务的参数进行压缩,将压缩后的参数写入任务描述符。
7.如权利要求5所述的神经网络处理器...
【专利技术属性】
技术研发人员:顾鹏,文博,王成波,
申请(专利权)人:深圳云天励飞技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。