【技术实现步骤摘要】
神经网络算法任务的编译和执行方法、芯片及电子设备
[0001]本申请涉及电子电路
,尤其涉及神经网络算法任务的编译和执行方法、芯片及电子设备。
技术介绍
[0002]NPU(Neural network Processing Unit),即神经网络处理器,通过电路来模拟神经元和突触结构。把每个神经元抽象为一个激励函数,该函数的输入由与其相连的神经元的输出以及连接神经元的突触共同决定。为了表达特定的知识,使用者通常需要(通过某些特定的算法)调整人工神经网络中突触的取值、网络的拓扑结构等。该过程称为“学习”。在学习之后,人工神经网络可通过习得的知识来解决特定的问题。
[0003]当前NPU芯片一般会有多个神经网络算法同时运行的需求,这样就会涉及到各个算法的算力分配问题,并且需要保证不同算法运行进程之间互不影响。另外,对于处理实时任务的算法,会有一些带宽要求,这就要求实时任务的带宽不能被非实时任务的带宽所抢占。
技术实现思路
[0004]鉴于以上所述现有技术的缺点,本申请的目的在于提供神经网络算法任务 ...
【技术保护点】
【技术特征摘要】
1.一种神经网络算法任务的编译方法,其特征在于,包括:将神经网络算法任务按时间片划分成若干任务单元以使多个所述神经网络算法任务同时被执行时以所述任务单元为一个调度单位进行时分复用动态调度;对所述任务单元进行编译以获取编译指令流;将所述编译指令流发送至NPU芯片,以使NPU芯片调度执行所述调度单元时基于所述编译指令流控制执行对应的算法任务。2.根据权利要求1所述的方法,其特征在于,对所述任务单元进行编译以获取编译指令流包括:根据各个所述任务单元中的任务内容将所述任务单元划分为包括若干线程任务,每个线程任务划分为包括若干子任务;按照所述神经网络算法任务的执行顺序对所述任务单元依次进行编译,获取第一编译指令流和第二编译指令流,所述第一编译指令流包括各个所述任务单元中所述线程任务之间的执行等待关系,所述第二编译指令流包括各个线程任务中所述子任务的配置信息以及子任务执行的等待关系。3.根据权利要求2所述的方法,其特征在于,所述线程任务包括计算线程任务和/或IO线程任务。4.根据权利要求2所述的方法,其特征在于,将所述编译指令流发送至NPU芯片,以使NPU芯片调度执行所述调度单元时基于所述编译指令流执行算法任务包括:将所述第一编译指令流发送至NPU芯片,以使所述调度模块调度执行某一任务单元时基于所述第一编译指令流切换执行所述线程任务的硬件资源;将所述第二编译指令流发送至NPU芯片的任务执行控制器,以使所述任务执行控制器基于所述第二编译指令流控制所述硬件资源执行对应的线程任务。5.一种神经网络算法任务的执行方法,其特征在于,包括:获取多个神经网络算法任务的编译指令流,所述编译指令流采用如权利要求1至4任一项所述的方法编译获得;以所述任务单元为一个调度单位对所述多个神经网络算法任务进行时分复用动态调度,以在一个时间窗口中交织执行所述多个神经网络算法任务的任务单元;基于所述编译指令流控制执行所述任务单元的算法任务。...
【专利技术属性】
技术研发人员:严寒,王健飞,
申请(专利权)人:爱芯元智半导体上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。