CN110928675B - 一种适应于神经网络处理器协同工作的方法和装置 - Google Patents

一种适应于神经网络处理器协同工作的方法和装置 Download PDF

Info

Publication number
CN110928675B
CN110928675B CN201811117531.3A CN201811117531A CN110928675B CN 110928675 B CN110928675 B CN 110928675B CN 201811117531 A CN201811117531 A CN 201811117531A CN 110928675 B CN110928675 B CN 110928675B
Authority
CN
China
Prior art keywords
channel
neural network
processing result
processor
register
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.)
Active
Application number
CN201811117531.3A
Other languages
English (en)
Other versions
CN110928675A (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 Ingenic Technology Co ltd
Original Assignee
Hefei Ingenic Technology Co 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 Ingenic Technology Co ltd filed Critical Hefei Ingenic Technology Co ltd
Priority to CN201811117531.3A priority Critical patent/CN110928675B/zh
Publication of CN110928675A publication Critical patent/CN110928675A/zh
Application granted granted Critical
Publication of CN110928675B publication Critical patent/CN110928675B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)

Abstract

本发明提供了一种适应于神经网络处理器协同工作的方法和装置,其中,该方法包括:神经网络处理器通过神经网络的第一网络层对第一信道的数据进行处理,得到第一信道的第一处理结果,其中,第一网络层中有多个信道;所述神经网络处理器将所述第一网络层第一信道的第一处理结果即刻提供给外部处理器,以使所述外部处理器根据所述第一网络层第一信道的第一处理结果进行处理,得到第一信道的第二处理结果;所述神经网络处理器获取所述第一信道的第二处理结果,通过所述神经网络的第二网络层对所述第一信号的第二处理结果进行处理,得到第一信道的第三处理结果。通过上述方案避免了因为需要等所有信道数据都处理完成之后再触发下一层进行处理,而导致的处理效率低下的问题,达到了有效提升处理效率的技术效果。

Description

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

Claims (6)

1.一种适应于神经网络处理器协同工作的方法,其特征在于,包括:
神经网络处理器通过神经网络的第一网络层对第一信道的数据进行处理,得到第一信道的第一处理结果,其中,第一网络层中有多个信道;
所述神经网络处理器将所述第一网络层中的第一信道的第一处理结果即刻提供给外部处理器,以使所述外部处理器根据所述第一网络层中的第一信道的第一处理结果进行处理,得到第一信道的第二处理结果;
所述神经网络处理器获取所述第一信道的第二处理结果,通过所述神经网络的第二网络层对第一信道的第二处理结果进行处理,得到第一信道的第三处理结果;
所述神经网络处理器将所述第一网络层中的第一信道的第一处理结果即刻提供给外部处理器,包括:
所述第一网络层将所述第一信道的信道标识写入所述神经网络处理器中的第一寄存器;
所述神经网络处理器在检测到所述第一寄存器中有信道标识写入的情况下,触发所述外部处理器获取所述第一信道的第一处理结果;
所述神经网络处理器触发所述外部处理器获取所述第一信道的第一处理结果,包括:
所述神经网络处理器向所述外部处理器发送中断信号;
所述外部处理器响应于所述中断信号从所述第一寄存器中读取所述第一信道的信道标识;
所述外部处理器根据所述第一信道的信道标识,获取第一信道的第一处理结果。
2.根据权利要求1所述的方法,其特征在于,所述神经网络处理器获取所述第一信道的第二处理结果,包括:
所述神经网络处理器从第二寄存器中获取第一信道的信道标识,其中,所述第二寄存器中第一信道的信道标识是所述外部处理器在处理完成后写入的;
所述神经网络处理器在检测到第二寄存器中有信道标识写入的情况下,获取信道标识;
所述神经网络处理器根据获取的信道标识获取所述第一信道的第二处理结果。
3.根据权利要求1至2中任一项所述的方法,其特征在于,所述外部处理器为以下至少之一:CPU、GPU。
4.一种适应于神经网络处理器协同工作的装置,其特征在于,位于神经网络处理器中,包括:
处理模块,用于通过神经网络的第一网络层对第一信道的数据进行处理,得到第一信道的第一处理结果,其中,第一网络层中有多个信道;
提供模块,用于将所述第一网络层中的第一信道的第一处理结果即刻提供给外部处理器,以使所述外部处理器根据所述第一网络层中的第一信道的第一处理结果进行处理,得到第一信道的第二处理结果;
获取模块,用于获取所述第一信道的第二处理结果,通过所述神经网络的第二网络层对第一信道的第二处理结果进行处理,得到第一信道的第三处理结果;
所述提供模块包括:
写入单元,用于将所述第一信道的信道标识写入所述神经网络处理器中的第一寄存器;
触发单元,用于在检测到所述第一寄存器中有信道标识写入的情况下,触发所述外部处理器获取所述第一信道的第一处理结果;
所述触发单元具体用于向所述外部处理器发送中断信号,所述外部处理器响应于所述中断信号从所述第一寄存器中读取所述第一信道的信道标识,所述外部处理器根据所述第一信道的信道标识,获取第一信道的第一处理结果。
5.根据权利要求4所述的装置,其特征在于,所述获取模块包括:
第一获取单元,用于从第二寄存器中获取第一信道的信道标识,其中,所述第二寄存器中第一信道的信道标识是所述外部处理器在处理完成后写入的;
第二获取单元,用于在检测到第二寄存器中有信道标识写入的情况下,获取信道标识;
第三获取单元,用于根据获取的信道标识获取所述第一信道的第二处理结果。
6.根据权利要求5所述的装置,其特征在于,所述外部处理器为以下至少之一:CPU、GPU。
CN201811117531.3A 2018-09-20 2018-09-20 一种适应于神经网络处理器协同工作的方法和装置 Active CN110928675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811117531.3A CN110928675B (zh) 2018-09-20 2018-09-20 一种适应于神经网络处理器协同工作的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811117531.3A CN110928675B (zh) 2018-09-20 2018-09-20 一种适应于神经网络处理器协同工作的方法和装置

Publications (2)

Publication Number Publication Date
CN110928675A CN110928675A (zh) 2020-03-27
CN110928675B true CN110928675B (zh) 2023-08-18

Family

ID=69856408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811117531.3A Active CN110928675B (zh) 2018-09-20 2018-09-20 一种适应于神经网络处理器协同工作的方法和装置

Country Status (1)

Country Link
CN (1) CN110928675B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102083117A (zh) * 2011-03-01 2011-06-01 西安新邮通信设备有限公司 一种td-scdma rnc设备ima组故障处理方法
CN107679620A (zh) * 2017-04-19 2018-02-09 北京深鉴科技有限公司 人工神经网络处理装置
CN108268937A (zh) * 2018-02-13 2018-07-10 北京旷视科技有限公司 一种神经网络及其计算方法、设备和计算机可读介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331997B2 (en) * 2014-05-07 2019-06-25 Seagate Technology Llc Adaptive configuration of a neural network device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102083117A (zh) * 2011-03-01 2011-06-01 西安新邮通信设备有限公司 一种td-scdma rnc设备ima组故障处理方法
CN107679620A (zh) * 2017-04-19 2018-02-09 北京深鉴科技有限公司 人工神经网络处理装置
CN108268937A (zh) * 2018-02-13 2018-07-10 北京旷视科技有限公司 一种神经网络及其计算方法、设备和计算机可读介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶莉娅,张.基于神经网络嵌入式系统体系结构的研究.杭州电子科技大学学报.2005,(02),全文. *

Also Published As

Publication number Publication date
CN110928675A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN109375951B (zh) 一种用于执行全连接层神经网络正向运算的装置和方法
CN109376861B (zh) 一种用于执行全连接层神经网络训练的装置和方法
CN110929856B (zh) 一种npu与主cpu的数据交互方法和装置
CN111860812A (zh) 一种用于执行卷积神经网络训练的装置和方法
JP2019204492A (ja) ニューロモルフィック・アクセラレータ・マルチタスキング
CN108171328B (zh) 一种神经网络处理器和采用其执行的卷积运算方法
CN112711478B (zh) 基于神经网络的任务处理方法、装置、服务器和存储介质
KR102407220B1 (ko) 인공지능 칩 및 인공지능 칩에 사용되는 명령 실행 방법
EP3779804A1 (en) Chip and chip-based data processing method
US11941528B2 (en) Neural network training in a distributed system
US20210326189A1 (en) Synchronization of processing elements that execute statically scheduled instructions in a machine learning accelerator
CN111886593A (zh) 数据处理系统和数据处理方法
US20220067495A1 (en) Intelligent processor, data processing method and storage medium
CN110928675B (zh) 一种适应于神经网络处理器协同工作的方法和装置
CN110929855B (zh) 一种数据交互方法和装置
US20220171619A1 (en) Neuromorphic processor and neuromorphic processing method
CN110929857B (zh) 一种神经网络的数据处理方法和装置
CN109960571A (zh) 一种多模块调度方法、装置及系统
CN114490074B (zh) 仲裁系统、方法、电子设备、存储介质及芯片
Chau et al. Adaptive sequential monte carlo approach for real-time applications
CN111026517B (zh) 任务分解装置及任务调度器
CN111258657A (zh) 流水线控制方法及相关设备
CN112528223B (zh) 分布式态势感知一致方法和装置
CN113360186B (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
CN116881195B (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