CN108416433A - 一种基于异步事件的神经网络异构加速方法和系统 - Google Patents

一种基于异步事件的神经网络异构加速方法和系统 Download PDF

Info

Publication number
CN108416433A
CN108416433A CN201810058099.9A CN201810058099A CN108416433A CN 108416433 A CN108416433 A CN 108416433A CN 201810058099 A CN201810058099 A CN 201810058099A CN 108416433 A CN108416433 A CN 108416433A
Authority
CN
China
Prior art keywords
accelerator
control unit
main control
system storage
storage
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
CN201810058099.9A
Other languages
English (en)
Other versions
CN108416433B (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.)
Shanghai Yi Know Electronic Technology Co Ltd
Original Assignee
Shanghai Yi Know Electronic 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 Shanghai Yi Know Electronic Technology Co Ltd filed Critical Shanghai Yi Know Electronic Technology Co Ltd
Priority to CN201810058099.9A priority Critical patent/CN108416433B/zh
Publication of CN108416433A publication Critical patent/CN108416433A/zh
Application granted granted Critical
Publication of CN108416433B publication Critical patent/CN108416433B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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

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

一种基于异步事件的神经网络异构加速方法和系统
技术领域
本发明涉及计算机领域,尤其涉及一种基于异步事件的神经网络异构加速方法和系统。
背景技术
神经网络的领域非常宽广,且涉及多种学科,吸引了许多不同领域的研究者的兴趣,同时在各个行业领域具有广阔的应用前景,例如,工程学、物理学、神经学、心理学、医学、数学、计算机科学、化学和经济学。同时,它也是人工智能领域的一项非常重要的核心技术。利用神经计算方法解决某些问题有许多优点,例如,容错能力强、具有自学习能力等。
目前,神经网络计算数据模型繁多,结构复杂,主流模型含几十个隐含层,每层都在上千上万级的神经元,整个网络更多,其计算量巨大。为了克服巨大计算量的问题,例如,目前用于深度学习的训练计算机大致采用两类方式:第一类是服务器/工作站架构(支持2、4、8块GPU架构),其普遍存在噪音大,无法放置于办公环境,必须放到专门的机房,维护成本高,另外数据存储带宽、延迟、容量也不尽如意的问题;第二类是分布式集群架构,这类方式性能强大,但是存在开发成本太高的问题。
异构计算系统是由主处理器和加速器两种体系结构处理器搭建而成的计算机系统。通过协调地使用性能、结构各异的处理单元,能够满足不同的计算需求,以获取最大总体性能方式完成加速计算。因此,异构计算对以上神经网络计算问题的解决提供了较好的思路。
现有常见的异构计算系统有CPU+GPU和CPU+MIC(超多核心)组成异构计算系统等。异构计算系统能够有效地获取高性能计算能力,具有可扩展性好、计算资源利用率高、发展潜力巨大等优点,目前已成为并行/分布计算领域中的研究热点之一。
中国专利申请CN201710641599.0公开了一种异构计算平台与基于异构计算平台的加速方法。在该专利申请中,异构计算平台可包括主机与多个可编程器件,主机与各个可编程器件分别相连。主机用于初始化可编程器件、各个可编程器件的并行调度、为各个所述可编程器件发送计算数据以及获得计算结果。各个可编程器件并行处理分配给自身的计算数据。
主机在完成所述可编程器件的初始化之后,为完成初始化的各个可编程器件发送计算数据;各个可编程器件在收到所述主机发送的计算数据之后,分别结合发送给自身的计算数据进行并行计算,得到计算结果;最后,主机从各个可编程器件获得上述计算结果并进行保存。
在现有技术中,由于主机和加速器(如可编程器件)的设计目标和计算性能的不同,异构计算系统的加速过程中计算数据的发送和搬运都需要主机来执行,因此需要花费大量的主机时间和等待时间。此外,完成计算后主机从加速器系统内部存储中获得计算结果,并进行保存也会带来大量的系统时间损耗,从而严重影响了整个异构系统的计算效率。
因此,本领域需要一种新型的人工智能AI异构计算机,通过充分利用加速器和主处理器的计算潜能,最大化异构计算系统的计算效率,提升整体系统的并发处理能来和响应速度,从而满足神经网络的计算的要求。
发明内容
针对现有技术中存在的问题,本发明的一个实施例中提供一种神经网络异构加速的方法,包括:主控单元在初始化阶段完成加速器的基本配置;所述主控单元将需要加速器进行处理的数据存储在系统存储器中;所述主控单元将命令描述符存储在所述系统存储器中;所述主控单元将命令字按照队列的方式存放在所述系统存储器中;所述主控单元通知所述加速器需要处理的命令条数;所述加速器基于初始化阶段的配置从所述系统存储器中读取命令字并完成命令字解析,同时从所述系统存储器中读取需要处理的数据;所述加速器将计算结果存储到所述系统存储器的第一存储位置;所述主控单元在执行间隔直接读取所述系统存储器的第一存储位置,得到所述加速器的所述计算结果。
在本发明的一个实施例中,所述加速器为神经网络加速器。
在本发明的一个实施例中,所述基本配置包括在系统存储器中输入数据的基地址,权重的基地址以及当前加速结果输出的基地址。
在本发明的一个实施例中,在所述命令描述符中指定需要神经网络加速器进行的操作,并在所述命令描述符中指定所述系统存储器中的数据位置。
在本发明的一个实施例中,通过单次寄存器访问通知所述神经网络加速器需要处理的命令条数。
在本发明的一个实施例中,在由主控单元通知所述加速器需要处理的命令条数之后,切换所述主控单元以执行其它任务。
在本发明的一个实施例中,在加速器将计算结果存储到所述系统存储器的第一存储位置后,更新系统存储器中在硬件初始化阶段指定的第二存储位置的信息。
在本发明的一个实施例中,主控单元基于硬件初始化阶段指定的第二存储位置的信息的变化判断加速器是否完成加速计算。
在本发明的一个实施例中,在加速器将计算结果存储到所述系统存储器的第一存储位置之后,所述加速器等待所述主控单元下发新任务。
本发明的另一个实施例中提供一种异构计算系统,包括:主控单元;一个或多个加速器;以及系统存储器,其中所述主控单元用于:在初始化阶段完成加速器的基本配置,将需要加速器进行处理的数据存储在系统存储器中,将命令描述符存储在所述系统存储器中,将命令字按照队列的方式存放在所述系统存储器中,通知所述加速器需要处理的命令条数,所述加速器用于:基于初始化阶段的配置主动的从所述系统存储器中读取命令字并完成命令字解析,同时从系统存储器中读取需要处理的数据,在加速计算完成后将计算结果存储到所述系统存储器的第一存储位置,所述主控单元用于:在执行间隔直接读取所述系统存储器的第二存储位置的信息,判断加速是否完成,从系统存储器的第一存储位置获取所述加速器的所述计算结果。
在本发明的另一个实施例中,所述主控单元是一个或多个主控中央处理单元CPU。
在本发明的另一个实施例中,所述主控单元是一个多核CPU的一个或多个核。
在本发明的另一个实施例中,所述加速器为神经网络加速器.
在本发明的另一个实施例中,所述基本配置包括在系统存储器中输入数据的基地址,权重的基地址以及当前加速结果输出的基地址。
在本发明的另一个实施例中,所述主控单元通过单次寄存器访问通知所述神经网络加速器需要处理的命令条数。
在本发明的另一个实施例中,在由主控单元通知所述加速器需要处理的命令条数之后,切换所述主控单元以执行其它任务。
在本发明的另一个实施例中,在加速器将计算结果存储到所述系统存储器的第一存储位置之后,所述加速器等待所述主控单元下发新任务。
因此,通过本发明提供的加速系统和方法,可以使异构计算系统中的各个硬件单元或VM可独立并行运行,避免了主控单元在每次运算过程中都要主动去搬移数据和指定操作。这种情况下,整个异构计算平台的运行速度大致相当于并行运行的几个硬件单元的运行速度之和,从而提高了异构计算系统的并行度与运行速度,进而提高了异构计算系统的运行速度。故利用本发明提供的加速系统和方法,将极大提升主控单元的效率,可以更好地满足复杂算法与海量数据对异构计算系统的运行速度的需求。
附图说明
为了进一步阐明本发明的各实施例的以上和其它优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同或类似的标记表示。
图1示出根据本发明的一些实施例的异构计算系统100的框图。
图2示出基于寄存器的同步控制进行神经网络异构加速过程的流程图。
图3示出根据本发明的一个实施例进行神经网络异构加速过程的流程图。
图4示出根据本发明的一个实施例的异构加速的命令流的示意图。
具体实施方式
在以下的描述中,参考各实施例对本发明进行描述。然而,本领域的技术人员将认识到可在没有一个或多个特定细节的情况下或者与其它替换和/或附加方法、材料或组件一起实施各实施例。在其它情形中,未示出或未详细描述公知的结构、材料或操作以免使本发明的各实施例的诸方面晦涩。类似地,为了解释的目的,阐述了特定数量、材料和配置,以便提供对本发明的实施例的全面理解。然而,本发明可在没有特定细节的情况下实施。此外,应理解附图中示出的各实施例是说明性表示且不一定按比例绘制。
在本说明书中,对“一个实施例”或“该实施例”的引用意味着结合该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书各处中出现的短语“在一个实施例中”并不一定全部指代同一实施例。
需要说明的是,本发明的实施例以特定顺序对步骤进行描述,然而这只是为了方便区分各步骤,而并不是限定各步骤的先后顺序,在本发明的不同实施例中,可根据具体的流程的调节来调整各步骤的先后顺序。
本发明的实施例提供一种基于异步事件的神经网络异构加速方法和系统。通过本发明的实施例公开的方案,可避免主控CPU在每次运算过程中都要主动去搬移数据和指定操作,从而减少这部分操作所浪费的大量主控CPU有效计算时间。通过这种新方案,将极大提升主控CPU的计算效率,从而实现一种高效的异构计算模式。
图1示出根据本发明的一些实施例的异构计算系统100的框图。在图1所示的实施例中,异构计算系统100包括主控单元110、一个或多个加速器120-1...120-n以及系统存储器130。在下文中,为了简化本说明书的描述,将一个或多个加速器120-1...120-n简称为加速器120。
在本发明的实施例中,主控单元110可以是一个或多个主控中央处理单元(CPU)或者多核CPU中的一个或多个核,其中CPU可包括逻辑运算单元、控制单元和存储单元等。
加速器120可以是一个或多个主控中央处理单元(CPU)、一个或多个图形处理单元(GPU)、一个或多个数字信号处理器(DSP)、一个或多个超多核心(MIC)、一个或多个现场可编程门阵列(FPGA)和/或执行某一特定功能的专用硬件等等。特定功能的专用硬件可以是专门定制的硬件,用来加速特定类型的计算。
在一些实施例中,主控单元110和加速器120可在同一个硬件上,如各自为同一个多核计算硬件的部分核,又如全部集成至片上系统(S℃)平台中相对独立的计算模块等。主控单元110和加速器120通过互连彼此通信,以及与系统存储器进行通信。在其它实施例中,主控单元110和加速器120可分布在不同的地理位置,并且通过有线或无线网络进行通信。例如,主控单元110与加速器120采用共享系统存储器的方式进行通讯,只需要总线支持DMA方式就可以完成系统连接。共享系统存储器的连接方式可以是片外的PCIE总线结构、CAPI总线结构、片内的各类片上系统互联例如AMBA、OCP总线等。
在本发明的其它实施例中,主控单元110和加速器120并非实体硬件结构,而是虚拟架构中的一个或多个虚拟机。例如,主控单元110可以是主控VM,而加速器120可以是一个或多个客户机VM。
主控单元110用于对加速器120进行初始化配置,准备需要由加速器120进行处理的数据,准备命令描述符,将命令字按照队列的方式存储在系统存储器130中,并通知加速器120需要处理的命令条数。
加速器120基于初始化配置主动从系统存储器130读取命令字队列完成命令字解析,在加速器120完成计算后,将结果数据按照命令字的描述回送到系统存储器130的指定位置,并更新系统存储器130中在硬件初始化阶段指定的位置信息。
神经网络的计算通常包含两类输入和一类输出,两类输入由输入数据和权重组成,输出为各类型神经网络操作后的结果。下文中将结合图2和图3描述利用本发明公开的异构计算系统进行神经网络异构加速的过程。
神经网络硬件加速过程可采用基于寄存器的同步控制方案。图2示出基于寄存器的同步控制进行神经网络异构加速的过程的流程图。
首先,在步骤210,主控CPU在加速器的系统存储器内准备好需要进行加速的数据。
在步骤220,主控CPU通过大量的寄存器配置,为加速器计算进行准备。
在步骤230,启动加速器,由加速器进行并行运算。
在步骤240,通过中断方式告知主控CPU加速完成。
在步骤250,主控CPU从加速器系统内部存储器读取计算结果。
神经网络计算一般牵涉三个部分:输入数据,权重以及输出结果。由于计算量的不同,需要的数据量也不同,通过主控CPU完成数据搬移将需要占用大量的CPU时间,而目前主流处理器架构上,如果遇上CacheMiss或者CacheFlush操作都需要花费大量的等待时间。
在图2所示的加速过程中,在步骤220,主控CPU进行寄存器配置需要通过慢速系统总线进行,这将减慢CPU的执行效能;在步骤240,加速器并行计算完成后通过中断方式告知主控CPU加速完成,导致主控CPU执行程序的中断和上下文切换,将带来大量的系统执行时间损耗;在步骤250,主控CPU从加速器系统内部存储器中进行结果数据的读取,又将占用大量的主控CPU有效时间。
对于神经网络计算来说,针对不同网络层的结果可能需要进行重组或者二次处理,而下一次加速的开始需要等待当前二次处理的结束,因此通过主控CPU进行数据读取将会导致整个处理的延迟拉长。
针对上述问题,本发明提出一种新型的异构加速方法。通过这种方法可避免主控单元在每次运算过程中都要主动去搬移数据和指定操作,并且能在加速器并行计算完成后不通过中断方式告知主控单元加速完成。
图3示出根据本发明的一个实施例进行神经网络异构加速的过程的流程图。神经网络的计算通常包含两类输入和一类输出,两类输入由输入数据和权重组成,输出为各类型神经网络操作后的结果。首先,在步骤310,主控单元在初始化阶段完成神经网络加速硬件的基本配置。神经网络加速硬件的基本配置包括在系统存储器中输入数据的基地址、权重的基地址以及当前加速结果输出的基地址。
在步骤320,主控单元在系统存储器中的对应位置准备好需要神经网络加速器进行加速处理的数据。
在步骤330,主控单元在系统存储器中的对应位置准备好命令描述符。在本发明的一些实施例中,可在命令描述符中指定需要神经网络加速器进行的操作,并在命令描述符中指定系统存储器中的数据位置等信息。
命令描述符可以是每一次神经网络加速操作的一个宏描述。宏描述不描述具体的操作如何实现,仅需要提供需要加速器完成的基本操作的基本信息,包括输入数据偏移,权重编码地址以及结果地址。而下层(例如,加速器)可以通过任意的方式,如DSP操作或者特殊硬件单元完成具体的微观操作,在这一个层面完成了异构的输入统一。
在步骤340,主控单元将命令字按照队列的方式存放在系统存储器中。
在步骤350,主控单元通知神经网络加速硬件需要处理的命令条数。在本发明的实施例中,主控单元可通过单次寄存器访问通知神经网络加速硬件需要处理的命令条数。
在步骤360,神经网络加速器将基于初始化阶段的配置主动的从系统存储器中读取命令字并完成命令字解析,获取具体的操作信息,同时将需要处理的数据从系统存储器中读走。与此同时,主控单元可以切换去执行其他任务,而整个过程不需要主控单元的参与。加速器内部解码单元将取回的命令操作符解析成多个内部操作序列,并行发送到加速器内部的不同组件用来激活操作。在该步骤360,神经网络加速单元与主控单元完成解耦合。主控单元与神经网络加速器同时工作,互不干扰。
在步骤370,在神经网络加速器完成计算后,结果数据将按照命令字的描述回送到系统存储器的指定位置,并更新系统存储器中在硬件初始化阶段指定的位置信息。该指定的位置信息可用于存放当前结果的队末标识符。在该步骤370,神经网络加速器与主控单元重新完成了握手,神经网络加速器将等待主控单元下发新的任务。
在步骤380,主控单元在执行间隔可以直接读取系统存储器中的指定的位置信息,例如,检查队末标识符,得到加速单元已经完成的数据操作数量。数据操作数量可以对应于下发的命令序列中已经完成的条数。而对应的结果数据已经存在系统存储器中。
图4示出根据本发明的一个实施例的异构加速的命令流的示意图。如图4所示,异构加速的命令流可包括五个步骤。
在步骤1,主控CPU 410准备命令形成命令队列SQ 430提交并存储到系统存储器中的制定位置。
在步骤2,主控CPU 410向加速器420通知提交队列SQ 430的尾部。
在步骤3,加速器420的硬件监视器保持轮询提交队列SQ 430的尾部变化,并且通过PCIE从提交队列SQ 430获取队列。
在加速器420完成处理队列后。在步骤4,通过PCIE将具有状态的队列写回系统存储器中的完成队列440。
在步骤5,主控CPU 410保持轮询加速器420,以便发现尾部变化。
虽然上述异构计算过程以神经网络计算为例进行描述,然而本领域的技术人员应该意识到本发明公开的异构计算过程和异构计算系统可以应用到深度学习计算、图形图像处理、或者其他算法的程序。在初始化完成之后,加速器将基于初始化阶段的配置主动的从系统存储器中读取命令字并完成命令字解析,同时将需要处理的数据从系统存储器中读走。主控单元可以切换去执行其他任务,整个过程不需要主控单元的参与。
因此,通过本发明提供的加速系统和方法,可以使异构计算系统中的各个硬件单元或VM可独立并行运行,避免了主控单元在每次运算过程中都要主动去搬移数据和指定操作。这种情况下,整个异构计算平台的运行速度大致相当于并行运行的几个硬件单元的运行速度之和,从而提高了异构计算系统的并行度与运行速度,进而提高了异构计算系统的运行速度。故利用本发明提供的加速系统和方法,将极大提升主控单元的效率,可以更好地满足复杂算法与海量数据对异构计算系统的运行速度的需求。
尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。对于相关领域的技术人员显而易见的是,可以对各个实施例做出各种组合、变型和改变而不背离本发明的精神和范围。因此,此处所公开的本发明的宽度和范围不应被上述所公开的示例性实施例所限制,而应当仅根据所附权利要求书及其等同替换来定义。

Claims (17)

1.一种神经网络异构加速的方法,包括:
主控单元在初始化阶段完成加速器的基本配置;
所述主控单元将需要加速器进行处理的数据存储在系统存储器中;
所述主控单元将命令描述符存储在所述系统存储器中;
所述主控单元将命令字按照队列的方式存放在所述系统存储器中;
所述主控单元通知所述加速器需要处理的命令条数;
所述加速器基于初始化阶段的配置从所述系统存储器中读取命令字并完成命令字解析,同时从所述系统存储器中读取需要处理的数据;
所述加速器将计算结果存储到所述系统存储器的第一存储位置;
所述主控单元在执行间隔直接读取所述系统存储器的第一存储位置,得到所述加速器的所述计算结果。
2.如权利要求1所述的方法,其特征在于,所述加速器为神经网络加速器。
3.如权利要求1所述的方法,其特征在于,所述基本配置包括在系统存储器中输入数据的基地址,权重的基地址以及当前加速结果输出的基地址。
4.如权利要求2所述的方法,其特征在于,在所述命令描述符中指定需要神经网络加速器进行的操作,并在所述命令描述符中指定所述系统存储器中的数据位置。
5.如权利要求2所述的方法,其特征在于,通过单次寄存器访问通知所述神经网络加速器需要处理的命令条数。
6.如权利要求1所述的方法,其特征在于,在由主控单元通知所述加速器需要处理的命令条数之后,切换所述主控单元以执行其它任务。
7.如权利要求1所述的方法,其特征在于,在加速器将计算结果存储到所述系统存储器的第一存储位置后,更新系统存储器中在硬件初始化阶段指定的第二存储位置的信息。
8.如权利要求1所述的方法,其特征在于,主控单元基于硬件初始化阶段指定的第二存储位置的信息的变化判断加速器是否完成加速计算。
9.如权利要求1所述的方法,其特征在于,在加速器将计算结果存储到所述系统存储器的第一存储位置之后,所述加速器等待所述主控单元下发新任务。
10.一种异构计算系统,包括:
主控单元;
一个或多个加速器;以及
系统存储器,
其中所述主控单元用于:在初始化阶段完成加速器的基本配置,将需要加速器进行处理的数据存储在系统存储器中,将命令描述符存储在所述系统存储器中,将命令字按照队列的方式存放在所述系统存储器中,通知所述加速器需要处理的命令条数,
所述加速器用于:基于初始化阶段的配置主动的从所述系统存储器中读取命令字并完成命令字解析,同时从系统存储器中读取需要处理的数据,在加速计算完成后将计算结果存储到所述系统存储器的第一存储位置,
所述主控单元用于:在执行间隔直接读取所述系统存储器的第二存储位置的信息,判断加速是否完成,从系统存储器的第一存储位置获取所述加速器的所述计算结果。
11.如权利要求10所述的异构计算系统,其特征在于,所述主控单元是一个或多个主控中央处理单元CPU。
12.如权利要求10所述的异构计算系统,其特征在于,所述主控单元是一个多核CPU的一个或多个核。
13.如权利要求10所述的异构计算系统,其特征在于,所述加速器为神经网络加速器。
14.如权利要求10所述的异构计算系统,其特征在于,所述基本配置包括在系统存储器中输入数据的基地址,权重的基地址以及当前加速结果输出的基地址。
15.如权利要求13所述的异构计算系统,其特征在于,所述主控单元通过单次寄存器访问通知所述神经网络加速器需要处理的命令条数。
16.如权利要求10所述的异构计算系统,其特征在于,在由主控单元通知所述加速器需要处理的命令条数之后,切换所述主控单元以执行其它任务。
17.如权利要求10所述的异构计算系统,其特征在于,在加速器将计算结果存储到所述系统存储器的第一存储位置之后,所述加速器等待所述主控单元下发新任务。
CN201810058099.9A 2018-01-22 2018-01-22 一种基于异步事件的神经网络异构加速方法和系统 Active CN108416433B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810058099.9A CN108416433B (zh) 2018-01-22 2018-01-22 一种基于异步事件的神经网络异构加速方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810058099.9A CN108416433B (zh) 2018-01-22 2018-01-22 一种基于异步事件的神经网络异构加速方法和系统

Publications (2)

Publication Number Publication Date
CN108416433A true CN108416433A (zh) 2018-08-17
CN108416433B CN108416433B (zh) 2020-11-24

Family

ID=63125895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810058099.9A Active CN108416433B (zh) 2018-01-22 2018-01-22 一种基于异步事件的神经网络异构加速方法和系统

Country Status (1)

Country Link
CN (1) CN108416433B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491934A (zh) * 2018-09-28 2019-03-19 方信息科技(上海)有限公司 一种集成计算功能的存储管理系统控制方法
WO2020061924A1 (zh) * 2018-09-27 2020-04-02 华为技术有限公司 运算加速器和数据处理方法
CN110990151A (zh) * 2019-11-24 2020-04-10 浪潮电子信息产业股份有限公司 一种基于异构计算平台的业务处理方法
CN111045964A (zh) * 2019-12-06 2020-04-21 思尔芯(上海)信息科技有限公司 一种基于pcie接口高速传输方法、存储介质及终端
CN111079911A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
CN111143272A (zh) * 2019-12-28 2020-05-12 浪潮(北京)电子信息产业有限公司 异构计算平台的数据处理方法、装置及可读存储介质
CN111191777A (zh) * 2019-12-27 2020-05-22 深圳云天励飞技术有限公司 一种神经网络处理器及其控制方法
CN112766483A (zh) * 2020-12-30 2021-05-07 上海熠知电子科技有限公司 异构系统的数据处理方法、装置及计算机可读存储介质
CN112787835A (zh) * 2019-11-07 2021-05-11 华为技术有限公司 网络设备及处理关于网络报文的数据的方法
CN114253694A (zh) * 2022-02-25 2022-03-29 杭州雄迈集成电路技术股份有限公司 一种基于神经网络加速器的异步处理方法与装置
CN115292053A (zh) * 2022-09-30 2022-11-04 苏州速显微电子科技有限公司 移动端cnn的cpu、gpu、npu统一调度方法
CN117331945A (zh) * 2023-10-31 2024-01-02 中科驭数(北京)科技有限公司 数据处理方法、装置、计算机存储介质及加速卡

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998019238A1 (en) * 1996-10-28 1998-05-07 Unisys Corporation Heterogeneous symmetric multi-processing system
CN101165655A (zh) * 2006-10-20 2008-04-23 国际商业机器公司 多处理器计算系统及其任务分配方法
US20170097889A1 (en) * 2004-11-19 2017-04-06 Intel Corporation Caching for heterogeneous processors
CN106776466A (zh) * 2016-11-30 2017-05-31 郑州云海信息技术有限公司 一种fpga异构加速计算装置及系统
CN106940815A (zh) * 2017-02-13 2017-07-11 西安交通大学 一种可编程卷积神经网络协处理器ip核
CN107402902A (zh) * 2017-07-31 2017-11-28 郑州云海信息技术有限公司 一种异构计算平台与基于异构计算平台的加速方法
CN107491811A (zh) * 2017-09-01 2017-12-19 中国科学院计算技术研究所 用于加速神经网络处理器的方法和系统及神经网络处理器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998019238A1 (en) * 1996-10-28 1998-05-07 Unisys Corporation Heterogeneous symmetric multi-processing system
US20170097889A1 (en) * 2004-11-19 2017-04-06 Intel Corporation Caching for heterogeneous processors
CN101165655A (zh) * 2006-10-20 2008-04-23 国际商业机器公司 多处理器计算系统及其任务分配方法
CN106776466A (zh) * 2016-11-30 2017-05-31 郑州云海信息技术有限公司 一种fpga异构加速计算装置及系统
CN106940815A (zh) * 2017-02-13 2017-07-11 西安交通大学 一种可编程卷积神经网络协处理器ip核
CN107402902A (zh) * 2017-07-31 2017-11-28 郑州云海信息技术有限公司 一种异构计算平台与基于异构计算平台的加速方法
CN107491811A (zh) * 2017-09-01 2017-12-19 中国科学院计算技术研究所 用于加速神经网络处理器的方法和系统及神经网络处理器

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020061924A1 (zh) * 2018-09-27 2020-04-02 华为技术有限公司 运算加速器和数据处理方法
CN109491934A (zh) * 2018-09-28 2019-03-19 方信息科技(上海)有限公司 一种集成计算功能的存储管理系统控制方法
CN109491934B (zh) * 2018-09-28 2021-03-02 方一信息科技(上海)有限公司 一种集成计算功能的存储管理系统控制方法
CN111079911B (zh) * 2018-10-19 2021-02-09 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
CN111079911A (zh) * 2018-10-19 2020-04-28 中科寒武纪科技股份有限公司 运算方法、系统及相关产品
US11477126B2 (en) 2019-11-07 2022-10-18 Huawei Technologies Co., Ltd. Network device and method for processing data about network packets
CN112787835A (zh) * 2019-11-07 2021-05-11 华为技术有限公司 网络设备及处理关于网络报文的数据的方法
CN112787835B (zh) * 2019-11-07 2023-01-13 华为技术有限公司 网络设备及处理关于网络报文的数据的方法
CN110990151A (zh) * 2019-11-24 2020-04-10 浪潮电子信息产业股份有限公司 一种基于异构计算平台的业务处理方法
CN111045964B (zh) * 2019-12-06 2021-07-20 上海国微思尔芯技术股份有限公司 一种基于pcie接口高速传输方法、存储介质及终端
CN111045964A (zh) * 2019-12-06 2020-04-21 思尔芯(上海)信息科技有限公司 一种基于pcie接口高速传输方法、存储介质及终端
WO2021129116A1 (zh) * 2019-12-27 2021-07-01 深圳云天励飞技术股份有限公司 一种神经网络处理器及其控制方法
CN111191777A (zh) * 2019-12-27 2020-05-22 深圳云天励飞技术有限公司 一种神经网络处理器及其控制方法
CN111191777B (zh) * 2019-12-27 2022-07-26 深圳云天励飞技术股份有限公司 一种神经网络处理器及其控制方法
US11537862B2 (en) 2019-12-27 2022-12-27 Shenzhen Intellifusion Technologies Co., Ltd. Neural network processor and control method of neural network processor
CN111143272A (zh) * 2019-12-28 2020-05-12 浪潮(北京)电子信息产业有限公司 异构计算平台的数据处理方法、装置及可读存储介质
CN112766483A (zh) * 2020-12-30 2021-05-07 上海熠知电子科技有限公司 异构系统的数据处理方法、装置及计算机可读存储介质
CN114253694A (zh) * 2022-02-25 2022-03-29 杭州雄迈集成电路技术股份有限公司 一种基于神经网络加速器的异步处理方法与装置
CN115292053A (zh) * 2022-09-30 2022-11-04 苏州速显微电子科技有限公司 移动端cnn的cpu、gpu、npu统一调度方法
CN115292053B (zh) * 2022-09-30 2023-01-06 苏州速显微电子科技有限公司 移动端cnn的cpu、gpu、npu统一调度方法
CN117331945A (zh) * 2023-10-31 2024-01-02 中科驭数(北京)科技有限公司 数据处理方法、装置、计算机存储介质及加速卡

Also Published As

Publication number Publication date
CN108416433B (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
CN108416433A (zh) 一种基于异步事件的神经网络异构加速方法和系统
Chen et al. A bi-layered parallel training architecture for large-scale convolutional neural networks
Abdelaziz et al. A machine learning model for improving healthcare services on cloud computing environment
Li et al. Quantum supremacy circuit simulation on Sunway TaihuLight
CN106951926A (zh) 一种混合架构的深度学习系统方法及装置
Oh et al. Layerweaver: Maximizing resource utilization of neural processing units via layer-wise scheduling
CN103617067A (zh) 一种基于云计算的电力软件仿真系统
CN109522108A (zh) 一种基于Kernel合并的GPU任务调度系统及方法
US20220147804A1 (en) Computation unit, related apparatus, and method
CN111858066A (zh) 气体动理论统一算法中的cpu+gpu异构并行优化方法
Wan et al. Modeling analysis and cost-performance ratio optimization of virtual machine scheduling in cloud computing
Wahib et al. Scaling distributed deep learning workloads beyond the memory capacity with KARMA
CN117642721A (zh) 机器学习加速器中的部分和累加的调度感知、动态可重新配置加法器树体系结构
Gao et al. Fast subspace identification method based on containerised cloud workflow processing system
Nichols et al. MagmaDNN: accelerated deep learning using MAGMA
CN110209631A (zh) 大数据处理方法及其处理系统
CN109871553B (zh) 一种针对分子动力仿真模型的并行化加速方法
Yang et al. Unicorn: A multicore neuromorphic processor with flexible fan-in and unconstrained fan-out for neurons
Li et al. HeteroYARN: a heterogeneous FPGA-accelerated architecture based on YARN
Chen et al. Exploiting on-chip heterogeneity of versal architecture for GNN inference acceleration
Al Maruf et al. Optimizing DNNs Model Partitioning for Enhanced Performance on Edge Devices.
Golovynskyi et al. Development of SCIT supercomputers family created at the VM Glushkov Institute of Cybernetics, NAS of Ukraine, in 2002–2017
Bragança et al. An open-source cloud-fpga gene regulatory accelerator
Liang et al. Design of 16-bit fixed-point CNN coprocessor based on FPGA
Alkalaj Performance of multi-threaded execution in a shared-memory multiprocessor

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