任务同步方法、处理器、设备、存储介质及程序产品技术

技术编号:38588235 阅读:13 留言:0更新日期:2023-08-26 23:29
本申请提供的一种任务同步方法、处理器、设备、存储介质及程序产品,其中,处理器包括同步装置和多个内核,每个内核包括通信单元、以及与通信单元连接的多个子计算单元。该方法包括:响应于任务同步指令,目标内核通过目标内核中的多个子计算单元执行任务同步指令对应的目标任务,目标内核在执行完目标任务后,通过目标内核中的通信单元向同步装置发送任务完成信号,在同步装置接收目标内核发送的任务完成信号后,向目标内核发送唤醒信号,唤醒信号用于指示目标内核可用于执行其它任务。本申请通过同步装置对多个内核进行管理,不需要内核间互连线,极大简化了硬件架构,对布局布线较友好,同时减少了同步程序设计的复杂度。同时减少了同步程序设计的复杂度。同时减少了同步程序设计的复杂度。

【技术实现步骤摘要】
任务同步方法、处理器、设备、存储介质及程序产品


[0001]本申请涉及人工智能
,尤其涉及一种任务同步方法、处理器、设备、存储介质及程序产品。

技术介绍

[0002]目前,使用神经网络处理器(Neural

network Processing Unit,NPU)加速的AI视觉芯片已被广泛地应用于大数据、智能驾驶和图像处理等领域。随着神经网络对算力的要求越来越高,可以通过多核NPU对神经网络进行处理。
[0003]多核NPU通常包含多组控制核心,将计算任务部署在多核上并行计算以提高算力,而多核NPU在设计中广泛存在数据竞争、资源竞争等问题,然而,如何实现多核NPU的任务的同步执行,以避免多核之间的数据竞争和资源竞争,是一个亟待解决的问题。

技术实现思路

[0004]本申请提供一种任务同步方法、处理器、设备、存储介质及程序产品,用以解决实现多核NPU的任务的同步执行时,多核之间的数据竞争和资源竞争的问题。
[0005]第一方面,本申请提供一种任务同步方法,应用于多核神经网络处理器NPU中,所述多核NPU包括同步装置和多个内核,每个内核包括通信单元、以及与所述通信单元连接的多个子计算单元,所述同步装置分别与所述多个内核的通信单元连接;所述方法包括:
[0006]响应于任务同步指令,目标内核通过所述目标内核中的多个子计算单元执行所述任务同步指令对应的目标任务,所述多个内核包括所述目标内核,所述目标内核的数量为N,所述N为大于1的整数;
[0007]所述目标内核在执行完所述目标任务后,通过所述目标内核中的通信单元向所述同步装置发送任务完成信号;
[0008]在所述同步装置接收N个所述目标内核发送的N个任务完成信号后,向N个所述目标内核发送唤醒信号,所述唤醒信号用于指示所述目标内核可用于执行其它任务。
[0009]在一种可能的实现方式中,响应于任务同步指令,目标内核通过所述目标内核中的多个子计算单元执行所述任务同步指令对应的目标任务,包括:
[0010]响应于所述任务同步指令,所述目标内核确定所述目标任务对应的多个子任务;
[0011]所述目标内核在所述多个子任务中,确定所述目标内核中各子计算单元对应的子任务;
[0012]所述目标内核通过各子计算单元执行对应的子任务。
[0013]在一种可能的实现方式中,所述目标内核通过各子计算单元执行对应的子任务,包括:
[0014]所述目标内核获取任务列表,所述任务列表中包括所述任务同步指令;
[0015]所述目标内核确定所述任务同步指令的执行时刻;
[0016]所述目标内核在所述执行时刻,通过各子计算单元执行对应的子任务。
[0017]在一种可能的实现方式中,针对所述目标内核中的任意一个子计算单元;所述目标内核在所述执行时刻,通过所述子计算单元执行对应的子任务,包括:
[0018]在所述执行时刻,所述目标内核通过目标内核的通信单元向所述子计算单元发送执行指令,所述执行指令用于指示所述子计算单元执行所述子任务;
[0019]所述目标内核通过目标内核的通信单元接收所述子计算单元发送的执行完成指令,所述执行完成指令用于指示所述子计算单元执行完成所述子任务。
[0020]在一种可能的实现方式中,针对所述目标内核中的任意一个子计算单元;所述目标内核在所述执行时刻,通过所述子计算单元执行对应的子任务,包括:
[0021]确定所述子计算单元对应的同步资源;
[0022]在所述执行时刻,通过所述同步资源调用所述子计算单元执行对应的子任务。
[0023]在一种可能的实现方式中,所述方法还包括:
[0024]所述目标内核获取所述目标内核中各子计算单元的任务执行进度,所述任务执行进度为已完成或者未完成;
[0025]若所述目标内核中存在子计算单元的任务执行进度为所述未完成,则将所述目标内核中的第一子计算单元的状态设置为等待状态,所述第一子计算单元的任务执行进度为所述已完成;
[0026]若所述目标内核中的各子计算单元的任务执行进度分别为所述已完成,则将所述第一子计算单元的状态设置为工作状态。
[0027]在一种可能的实现方式中,所述同步装置还包括第一存储单元和第二存储单元;所述第一存储单元和所述第二存储单元分别支持只读的总线访问;
[0028]所述第一存储单元用于存储内核执行信息,所述内核执行信息包括当前每个同步资源对应的处于等待状态的内核的内核标识;
[0029]所述第二存储单元用于存储同步信息,所述同步信息包括当前每个同步资源对应的未进入等待状态的内核数量。
[0030]在一种可能的实现方式中,所述方法还包括:
[0031]所述同步装置接收所述任务完成信号,所述任务完成信号中包括所述目标内核的内核标识和同步资源;
[0032]根据所述任务完成信号,更新所述第一存储单元和所述第二存储单元中的信息。
[0033]第二方面,本申请提供一种多核神经网络处理器NPU,包括:同步装置和多个内核,每个内核包括通信单元、以及与所述通信单元连接的多个子计算单元,所述同步装置分别与所述多个内核的通信单元连接;
[0034]目标内核,用于响应于任务同步指令,通过所述目标内核中的多个子计算单元执行所述任务同步指令对应的目标任务,所述多个内核包括所述目标内核,所述目标内核的数量为N,所述N为大于1的整数;
[0035]所述目标内核,还用于在执行完所述目标任务后,通过所述目标内核中的通信单元向所述同步装置发送任务完成信号;
[0036]所述同步装置,用于在接收N个所述目标内核发送的N个任务完成信号后,向N个所述目标内核发送唤醒信号,所述唤醒信号用于指示所述目标内核可用于执行其它任务。
[0037]在一种可能的实现方式中,所述目标内核具体用于:
[0038]响应于所述任务同步指令,所述目标内核确定所述目标任务对应的多个子任务;
[0039]所述目标内核在所述多个子任务中,确定所述目标内核中各子计算单元对应的子任务;
[0040]所述目标内核通过各子计算单元执行对应的子任务。
[0041]在一种可能的实现方式中,所述目标内核具体用于:
[0042]所述目标内核获取任务列表,所述任务列表中包括所述任务同步指令;
[0043]所述目标内核确定所述任务同步指令的执行时刻;
[0044]所述目标内核在所述执行时刻,通过各子计算单元执行对应的子任务。
[0045]在一种可能的实现方式中,针对所述目标内核中的任意一个子计算单元;所述目标内核具体用于:
[0046]在所述执行时刻,所述目标内核通过目标内核的通信单元向所述子计算单元发送执行指令,所述执行指令用于指示所述子计算单元执行所述子任务;
[0047]所述目标内核通过目标内核的通信单元接收所述子计算单元发送的执行完成指令,所述执行完成指令用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务同步方法,其特征在于,应用于多核神经网络处理器NPU中,所述多核NPU包括同步装置和多个内核,每个内核包括通信单元、以及与所述通信单元连接的多个子计算单元,所述同步装置分别与所述多个内核的通信单元连接;所述方法包括:响应于任务同步指令,目标内核通过所述目标内核中的多个子计算单元执行所述任务同步指令对应的目标任务,所述多个内核包括所述目标内核,所述目标内核的数量为N,所述N为大于1的整数;所述目标内核在执行完所述目标任务后,通过所述目标内核中的通信单元向所述同步装置发送任务完成信号;在所述同步装置接收N个所述目标内核发送的N个任务完成信号后,向N个所述目标内核发送唤醒信号,所述唤醒信号用于指示所述目标内核可用于执行其它任务。2.根据权利要求1所述的方法,其特征在于,响应于任务同步指令,目标内核通过所述目标内核中的多个子计算单元执行所述任务同步指令对应的目标任务,包括:响应于所述任务同步指令,所述目标内核确定所述目标任务对应的多个子任务;所述目标内核在所述多个子任务中,确定所述目标内核中各子计算单元对应的子任务;所述目标内核通过各子计算单元执行对应的子任务。3.根据权利要求2所述的方法,其特征在于,所述目标内核通过各子计算单元执行对应的子任务,包括:所述目标内核获取任务列表,所述任务列表中包括所述任务同步指令;所述目标内核确定所述任务同步指令的执行时刻;所述目标内核在所述执行时刻,通过各子计算单元执行对应的子任务。4.根据权利要求3所述的方法,其特征在于,针对所述目标内核中的任意一个子计算单元;所述目标内核在所述执行时刻,通过所述子计算单元执行对应的子任务,包括:在所述执行时刻,所述目标内核通过所述目标内核的通信单元向所述子计算单元发送执行指令,所述执行指令用于指示所述子计算单元执行所述子任务;所述目标内核通过所述目标内核的通信单元接收所述子计算单元发送的执行完成指令,所述执行完成指令用于指示所述子计算单元执行完成所述子任务。5.根据权利要求3所述的方法,其特征在于,针对所述目标内核中的任意一个子计算单元;所述目标内核在所述执行时刻,通过所述子计算单元执行对应的子任务,包括:确定所述子计算单元对应的同步资源;在所述执行时刻,通过所述同步资源调用所述子计算单元执行对应的子任务。6.根据权利要求1

5任一项所述的方法,其特征在于,所述方法还包括:所述目标内核获取所述目标内核中各子计算单元的任务执行进度,所述任务执行进度为已完成或者未完成;若所述目标内核中存在...

【专利技术属性】
技术研发人员:秦毅王唯孙方轩连朔
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:

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

1