CN110929856A - 一种npu与主cpu的数据交互方法和装置 - Google Patents

一种npu与主cpu的数据交互方法和装置 Download PDF

Info

Publication number
CN110929856A
CN110929856A CN201811100248.XA CN201811100248A CN110929856A CN 110929856 A CN110929856 A CN 110929856A CN 201811100248 A CN201811100248 A CN 201811100248A CN 110929856 A CN110929856 A CN 110929856A
Authority
CN
China
Prior art keywords
register
task
new channel
npu
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811100248.XA
Other languages
English (en)
Other versions
CN110929856B (zh
Inventor
翟云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Jun Zheng Science And Technology Ltd
Original Assignee
Hefei Jun Zheng Science And Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei Jun Zheng Science And Technology Ltd filed Critical Hefei Jun Zheng Science And Technology Ltd
Priority to CN201811100248.XA priority Critical patent/CN110929856B/zh
Publication of CN110929856A publication Critical patent/CN110929856A/zh
Application granted granted Critical
Publication of CN110929856B publication Critical patent/CN110929856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Advance Control (AREA)

Abstract

本发明提供了一种NPU与主CPU的数据交互方法和装置,其中,该方法包括:NPU监测所述NPU中的task‑out ID寄存器中是否被写入新的信道标识;在确定所述task‑out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;其中,所述主CPU响应于所述中断信号从所述task‑out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。在上述方案中,通过设置寄存器,在某个信道完成操作之后,将该信道标识写入该寄存器中,通过寄存器中信道标识的变化,来触发对该信道的下一步处理,从而使得NPU与主CPU可以达到任务流水线的效果,提升了数据传输效率和数据处理效率。

Description

一种NPU与主CPU的数据交互方法和装置
技术领域
本发明涉及人工智能技术领域,特别涉及一种NPU与主CPU的数据交互方法和装置。
背景技术
神经网络(Neural Network),是20世纪80年代以来人工智能领域兴起的研究热点,神经网络是从信息处理角度对人脑神经元网络进行抽象,从而建立起某种简单模型,然后,按照不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。
神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。然而,网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
由于神经网络的运算量巨大,NPU(Neural-Network Processing Uint,神经网络处理器或神经网络加速引擎)往往需要采用专用数字逻辑电路来进行加速。神经网络由于计算量巨大,CPU/GPU/DSP等处理器虽然通用,但是由于性能功耗比较低,因此,在inference端级,一般都需要选择专门的神经网络加速器对其进行加速。
神经网络虽然形多变化多样,但是相对而言神经网络的计算是较为规则的,比较适合用粗颗粒度的指令进行ASIC化的加速,例如:卷积、池化与全连接操作等。
然而,在实际使用的过程中,只有卷积、池化与全连接是不够的,有时还需要一些其它的计算,或者是随着算法的演进,会出现一些新的运算类型。在这种情况下,仅依靠有限固定功能的加速器很难覆盖,这事就需要适当的扩展处理能力(例如:将不能支持的运算交给CPU处理),然而,因为需要与其它的处理资源进行数据交互,就需要考虑交互成本以及数据处理的效率等。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种NPU与主CPU的数据交互方法和装置,以达到提升处理效率的技术效果。
一方面,提供了一种NPU与主CPU的数据交互方法,包括:
NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识;
在确定所述task-out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;
其中,所述主CPU响应于所述中断信号从所述task-out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。
在一个实施方式中,向主CPU发送中断信号包括:
通过irq向主CPU发送中断信号。
在一个实施方式中,所述方法还包括:
监测task-in ID寄存器中是否被写入新的信道标识;
在确定所述task-in ID寄存器中被写入新的信道标识的情况下,对所述新的信道标识所标识的信道进行池化操作。
在一个实施方式中,所述task-in ID寄存器中的新的信道标识是所述主CPU在完成逐点取反操作之后,通过sbox_rw写入所述task-in ID寄存器中的。
在一个实施方式中,在NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识之前,所述方法还包括:
对所述新的信道标识所标识的信道进行卷积操作;
在完成所述卷积操作之后,将该新的信道标识写入所述task-out ID寄存器中。
另一方面,提供了一种NPU与主CPU的数据交互装置,位于NPU中,包括:
第一监测模块,用于监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识;
发送模块,用于在确定所述task-out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;
其中,所述主CPU响应于所述中断信号从所述task-out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。
在一个实施方式中,所述发送模块具体用于通过irq向主CPU发送中断信号。
在一个实施方式中,上述装置还包括:
第二监测模块,用于监测task-in ID寄存器中是否被写入新的信道标识;
池化模块,用于在确定所述task-in ID寄存器中被写入新的信道标识的情况下,对所述新的信道标识所标识的信道进行池化操作。
在一个实施方式中,所述task-in ID寄存器中的新的信道标识是所述主CPU在完成逐点取反操作之后,通过sbox_rw写入所述task-in ID寄存器中的。
在一个实施方式中,上述装置还包括:
卷积模块,用于在NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识之前,对所述新的信道标识所标识的信道进行卷积操作;
写入模块,用于在完成所述卷积操作之后,将该新的信道标识写入所述task-outID寄存器中。
在上例中,NPU监测task-out ID寄存器中是否被写入新的信道标识;在确定所述task-out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;其中,所述主CPU响应于所述中断信号从所述task-out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。即,通过设置寄存器,在某个信道完成操作之后,将该信道标识写入该寄存器中,通过寄存器中信道标识的变化,来触发对该信道的下一步处理,从而使得NPU与主CPU可以达到任务流水线的效果,提升了数据传输效率和数据处理效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是现有的神经网络处理时序图;
图2是根据本申请的神经网络处理时序图;
图3是根据本申请实施例的神经网络系统的架构示意图;
图4是根据本申请实施例的NPU与主CPU的数据交互方法流程图;
图5是根据本申请实施例的NPU与主CPU的数据交互装置的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
考虑到现有的神经网络系统中有些计算是NPU无法完成的,需要借助其它的处理器,例如:CPU/GPU等处理,这样就存在NPU与其它处理器的交互,有数据的交互就存在数据交互成本,也存在数据处理效率的问题。
具体的,现有的数据交互中存在如下问题:假设有一个神经网络,有一层为卷积(CONV1),之后的一层对CONV1产生的feature map(特征图)逐点取反(NEG1),之后又进行一层的池化(POOL1)。假设在本例中,CONV1、NEG1和POOL1中均有n个channel(信道),假设当前的NPU不支持取反操作,需要将取反操作发送至CPU,由CPU进行取反操作。
然而,由于数据上是存在相互依赖关系的,这就使得NPU不能同时对CONV1和POOL1进行计算,按照现有的处理方式,处理过程如图1所示,即,需要CONV1中N个信道都处理完成之后,再进行NEG1的逐点取反操作,在N个信道都完成逐点取反操作之后,才进行池化操作。
然而,在CONV1有N个channel的情况下,显然不是必须要等到所有N1个channel均计算完成才允许CPU开始执行NEG1的计算。同样,也没有必要等CPU完成所有N个channel的NEG计算后再让NPU开始POOL的计算。
为此,在本例中提出了一种NPU与Host CPU间的交互机制,以提升NPU与HostCPU之间的交互性能,从而提升整个系统的性能。
具体的,在本例中,如图2所示,在NPU中设计一个sbox,其中,sbox中设计有task-in ID和task-out ID的寄存器。
当NPU完成一个channel(信道)的CONV1(卷积)的计算后,task-out ID寄存器更新为当前channel的ID号,当sbox检测到有新的task-out ID写入时便向hostCPU发中断(例如,通过irq发送中断),host-CPU在收到中断后,读取sbox中task-outID,同时完成相应channel的NEG(逐点取反)计算,完成后再将当前channel的ID号写入sbox中的task-in ID寄存器(例如,通过图2中的sbox_rw写入task-in ID寄存器中)。当sbox检测到有新的task-in ID写入后,进行相应channel的POOL计算。
也就形成了如图3所示的处理流程,显然,这种处理方式可以在整体上产生了一个channel级别的任务流水线效果,使得执行时间得到加速。
上述的神经网络技术可以但不限于应用在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域。
在上例中,是以一个具体的实例为例进行的说明,在实际实现的时候,处理器可以不是CPU,进行的操作也可以不是池化操作、卷积操作等等。
基于此,在本例中,提供了一种适应于神经网络处理器协同工作的方法,可以包括如下步骤:
步骤1:通过神经网络的第一网络层对第一信道的数据进行处理,得到第一信道的第一处理结果,其中,第一网络层中有多个信道;
步骤2:将所述第一网络层第一信道的第一处理结果即刻提供给外部处理器,以使所述外部处理器根据所述第一网络层第一信道的第一处理结果进行处理,得到第一信道的第二处理结果;
步骤3:获取所述第一信道的第二处理结果,通过所述神经网络的第二网络层对所述第一信号的第二处理结果进行处理,得到第一信道的第三处理结果。
即,在需要与外部处理器进行交互的时候,在第一网络层处理对一个信道的数据处理完成之后,即刻将该数据提供给外部处理器进行处理,而不是等到所有信道的数据都处理完成之后,再提供给外部处理器进行处理,并且在外部处理器处理完该信道的数据之后,即刻提供给第二网络层进行处理,也不是等到所有信道的数据都处理完成,这样就避免了因为需要等所有信道数据都处理完成之后再触发下一层进行处理,而导致的处理效率低下的问题,达到了有效提升处理效率的技术效果。
具体的,在实现的时候,可以是在NPU中设置第一寄存器和第二寄存器,在第一网络层处理完当前信道的数据的情况下,就将该信道的ID写入第一寄存器中,然后外部处理器就知道可以触发对该信道的数据的处理,然后,在外部处理器处理完成之后,可以将该信道的ID写入第二寄存器,从而告知NPU的下一网络层可以对该信道的数据进行处理,从而形成一个信道级别的流水线处理的效果。
在一个实施方式中,可以设置一个触发控制器(例如sbox),该触发控制器中设置有上述的第一寄存器和第二寄存器,并对第一寄存器和第二寄存器的数据状态实时进行监控。
具体的,神经网络处理器将所述第一网络层第一信道的第一处理结果即刻提供给外部处理器,可以包括:
S1:第一网络层将所述第一信道的信道标识写入所述神经网络处理器中的第一寄存器;
S2:神经网络处理器在检测到所述第一寄存器中有信道标识写入的情况下,触发所述外部处理器获取所述第一信道的第一处理结果。
其中,神经网络处理器触发所述外部处理器获取所述第一信道的第一处理结果,可以包括:神经网络处理器向所述外部处理器发送中断信号;外部处理器响应于所述中断信号从所述第一寄存器中读取所述第一信道的信道标识;外部处理器根据所述第一信道的信道标识,获取第一信道的第一处理结果。
具体的,神经网络处理器获取所述第一信道的第二处理结果,可以包括:
S1:神经网络处理器从第二寄存器中获取第一信道的信道标识,其中,所述第二寄存器中第一信道的信道标识是所述外部处理器在处理完成后写入的;
S2:神经网络处理器在检测到第二寄存器中有信道标识写入的情况下,获取信道标识;
S3:神经网络处理器根据获取的信道标识获取所述第一信道的第二处理结果。
以一个具体实例进行说明,适应于神经网络处理器协同工作的方法可以包括如下步骤:
步骤1:神经网络处理器对当前信道的数据进行卷积处理,得到当前信道的卷积处理结果;
步骤2:将该信道的卷积处理结果发送至外部处理器,通过外部处理器对当前信道的卷积处理结果进行逐点取反,并同时对当前信道的下一信道进行卷积处理;
步骤3:获取外部处理器对当前信道的逐点取反结果,并对当前信道的逐点取反结果进行池化处理。
考虑到NPU与主CPU之间存在的数据传输的问题,在本例中提供了一种NPU与主CPU的数据交互方法,如图4所示,可以包括如下步骤:
步骤401:NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识;
步骤402:在确定所述task-out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;
其中,所述主CPU响应于所述中断信号从所述task-out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。
在上例中,通过设置寄存器,在某个信道完成操作之后,将该信道标识写入该寄存器中,通过寄存器中信道标识的变化,来触发对该信道的下一步处理,从而使得NPU与主CPU可以达到任务流水线的效果,提升了数据传输效率和数据处理效率。
在实现的时候,向主CPU发送中断信号的时候可以是通过irq向主CPU发送中断信号。
对于主CPU而言在执行完预设操作之后,也可以通过向寄存器中写入信道标识的方式告知NPU进行数据处理,具体的,可以是监测task-in ID寄存器中是否被写入新的信道标识;在确定所述task-in ID寄存器中被写入新的信道标识的情况下,对所述新的信道标识所标识的信道进行池化操作。
在实现的时候,所述task-in ID寄存器中的新的信道标识可以是主CPU在完成逐点取反操作之后,通过sbox_rw写入task-in ID寄存器中的。
在一个实施方式中,在NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识之前,还可以对新的信道标识所标识的信道进行卷积操作,在完成所述卷积操作之后,将该新的信道标识写入所述task-out ID寄存器中。即,对一个信道完成卷积操作之后,就立刻控制外部服务器进行逐点取反操作,而不是等待所有的信道都卷积完成。
基于同一发明构思,本发明实施例中还提供了一种NPU与主CPU的数据交互装置,如下面的实施例所述。由于NPU与主CPU的数据交互装置解决问题的原理与NPU与主CPU的数据交互方法相似,因此NPU与主CPU的数据交互装置的实施可以参见NPU与主CPU的数据交互方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图5是本发明实施例的NPU与主CPU的数据交互装置的一种结构框图,如图5所示,位于神经网络处理器中,可以包括:第一监测模块501、发送模块502,下面对该结构进行说明。
第一监测模块501,用于监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识;
发送模块502,用于在确定所述task-out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;
其中,所述主CPU响应于所述中断信号从所述task-out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。
在一个实施方式中,发送模块502具体可以用于通过irq向主CPU发送中断信号。
在一个实施方式中,上述NPU与主CPU的数据交互装置还可以包括:第二监测模块,用于监测task-in ID寄存器中是否被写入新的信道标识;池化模块,用于在确定所述task-in ID寄存器中被写入新的信道标识的情况下,对所述新的信道标识所标识的信道进行池化操作。
在一个实施方式中,上述task-in ID寄存器中的新的信道标识可以是主CPU在完成逐点取反操作之后,通过sbox_rw写入所述task-in ID寄存器中的。
在一个实施方式中,上述NPU与主CPU的数据交互装置还可以包括:卷积模块,用于在NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识之前,对所述新的信道标识所标识的信道进行卷积操作;写入模块,用于在完成所述卷积操作之后,将该新的信道标识写入所述task-out ID寄存器中。
在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。
从以上的描述中,可以看出,本发明实施例实现了如下技术效果:NPU监测task-out ID寄存器中是否被写入新的信道标识;在确定所述task-out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;其中,所述主CPU响应于所述中断信号从所述task-out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。即,通过设置寄存器,在某个信道完成操作之后,将该信道标识写入该寄存器中,通过寄存器中信道标识的变化,来触发对该信道的下一步处理,从而使得NPU与主CPU可以达到任务流水线的效果,提升了数据传输效率和数据处理效率。
在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种NPU与主CPU的数据交互方法,其特征在于,包括:
NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识;
在确定所述task-out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;
其中,所述主CPU响应于所述中断信号从所述task-out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。
2.根据权利要求1所述的方法,其特征在于,向主CPU发送中断信号包括:
通过irq向主CPU发送中断信号。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监测task-in ID寄存器中是否被写入新的信道标识;
在确定所述task-in ID寄存器中被写入新的信道标识的情况下,对所述新的信道标识所标识的信道进行池化操作。
4.根据权利要求3所述的方法,其特征在于,所述task-in ID寄存器中的新的信道标识是所述主CPU在完成逐点取反操作之后,通过sbox_rw写入所述task-in ID寄存器中的。
5.根据权利要求1所述的方法,其特征在于,在NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识之前,所述方法还包括:
对所述新的信道标识所标识的信道进行卷积操作;
在完成所述卷积操作之后,将该新的信道标识写入所述task-out ID寄存器中。
6.一种NPU与主CPU的数据交互装置,其特征在于,位于NPU中,包括:
第一监测模块,用于监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识;
发送模块,用于在确定所述task-out ID寄存器中被写入新的信道标识的情况下,向主CPU发送中断信号;
其中,所述主CPU响应于所述中断信号从所述task-out ID寄存器中读取所述新的信道标识,对所述新的信道标识所指示的信道进行逐点取反操作。
7.根据权利要求6所述的装置,其特征在于,所述发送模块具体用于通过irq向主CPU发送中断信号。
8.根据权利要求6所述的装置,其特征在于,还包括:
第二监测模块,用于监测task-in ID寄存器中是否被写入新的信道标识;
池化模块,用于在确定所述task-in ID寄存器中被写入新的信道标识的情况下,对所述新的信道标识所标识的信道进行池化操作。
9.根据权利要求8所述的装置,其特征在于,所述task-in ID寄存器中的新的信道标识是所述主CPU在完成逐点取反操作之后,通过sbox_rw写入所述task-in ID寄存器中的。
10.根据权利要求6所述的装置,其特征在于,还包括:
卷积模块,用于在NPU监测所述NPU中的task-out ID寄存器中是否被写入新的信道标识之前,对所述新的信道标识所标识的信道进行卷积操作;
写入模块,用于在完成所述卷积操作之后,将该新的信道标识写入所述task-out ID寄存器中。
CN201811100248.XA 2018-09-20 2018-09-20 一种npu与主cpu的数据交互方法和装置 Active CN110929856B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811100248.XA CN110929856B (zh) 2018-09-20 2018-09-20 一种npu与主cpu的数据交互方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811100248.XA CN110929856B (zh) 2018-09-20 2018-09-20 一种npu与主cpu的数据交互方法和装置

Publications (2)

Publication Number Publication Date
CN110929856A true CN110929856A (zh) 2020-03-27
CN110929856B CN110929856B (zh) 2023-08-18

Family

ID=69856271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811100248.XA Active CN110929856B (zh) 2018-09-20 2018-09-20 一种npu与主cpu的数据交互方法和装置

Country Status (1)

Country Link
CN (1) CN110929856B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113227975A (zh) * 2021-03-31 2021-08-06 华为技术有限公司 一种同步方法及装置
CN113611296A (zh) * 2021-08-20 2021-11-05 天津讯飞极智科技有限公司 语音识别装置和拾音设备
WO2022032628A1 (zh) * 2020-08-14 2022-02-17 华为技术有限公司 一种主cpu与npu的数据交互方法及计算设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330958A (ja) * 1999-05-21 2000-11-30 Fujitsu Ltd マルチcpuシステム及びそのデータ通信制御方法
CN104570846A (zh) * 2014-12-04 2015-04-29 中国航空工业集团公司第六三一研究所 Fpga重配置控制器及其控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000330958A (ja) * 1999-05-21 2000-11-30 Fujitsu Ltd マルチcpuシステム及びそのデータ通信制御方法
CN104570846A (zh) * 2014-12-04 2015-04-29 中国航空工业集团公司第六三一研究所 Fpga重配置控制器及其控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周小燕: "WCDMA下行链路解复用技术的FPGA实现" *
杨一晨;梁峰;张国和;何平;吴斌;高震霆;: "一种基于可编程逻辑器件的卷积神经网络协处理器设计" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022032628A1 (zh) * 2020-08-14 2022-02-17 华为技术有限公司 一种主cpu与npu的数据交互方法及计算设备
CN113227975A (zh) * 2021-03-31 2021-08-06 华为技术有限公司 一种同步方法及装置
CN113611296A (zh) * 2021-08-20 2021-11-05 天津讯飞极智科技有限公司 语音识别装置和拾音设备

Also Published As

Publication number Publication date
CN110929856B (zh) 2023-08-18

Similar Documents

Publication Publication Date Title
CN107341541B (zh) 一种用于执行全连接层神经网络训练的装置和方法
JP6829327B2 (ja) 変換方法、装置、コンピューターデバイス及び記憶媒体
CN109375951B (zh) 一种用于执行全连接层神经网络正向运算的装置和方法
US20200249998A1 (en) Scheduling computation graph heterogeneous computer system
US10783437B2 (en) Hybrid aggregation for deep learning neural networks
JP7451614B2 (ja) オンチップの計算ネットワーク
CN111860812A (zh) 一种用于执行卷积神经网络训练的装置和方法
CN110929856B (zh) 一种npu与主cpu的数据交互方法和装置
CN113469355B (zh) 分布式系统中的多模型训练管道
US11694075B2 (en) Partitioning control dependency edge in computation graph
KR102407220B1 (ko) 인공지능 칩 및 인공지능 칩에 사용되는 명령 실행 방법
EP4128093A1 (en) Machine learning network implemented by statically scheduled instructions
CN108171328B (zh) 一种神经网络处理器和采用其执行的卷积运算方法
US20140143524A1 (en) Information processing apparatus, information processing apparatus control method, and a computer-readable storage medium storing a control program for controlling an information processing apparatus
CN113240100B (zh) 基于离散Hopfield神经网络的并行计算方法及系统
US20210256373A1 (en) Method and apparatus with accelerator
WO2020169182A1 (en) Method and apparatus for allocating tasks
CN110929857B (zh) 一种神经网络的数据处理方法和装置
CN110928675B (zh) 一种适应于神经网络处理器协同工作的方法和装置
CN110929855B (zh) 一种数据交互方法和装置
CN115292044A (zh) 数据处理方法、装置、电子设备及存储介质
CN112528223B (zh) 分布式态势感知一致方法和装置
EP4202774A1 (en) Runtime predictors for neural network computation reduction
US20240119297A1 (en) Method and device with checkpointing
CN108416435B (zh) 一种具有低带宽激活装置的神经网络处理器及其方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant