CN110413561A - 数据加速处理系统 - Google Patents

数据加速处理系统 Download PDF

Info

Publication number
CN110413561A
CN110413561A CN201910176125.2A CN201910176125A CN110413561A CN 110413561 A CN110413561 A CN 110413561A CN 201910176125 A CN201910176125 A CN 201910176125A CN 110413561 A CN110413561 A CN 110413561A
Authority
CN
China
Prior art keywords
data
circuit
processing
processing unit
main process
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
CN201910176125.2A
Other languages
English (en)
Other versions
CN110413561B (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.)
Cambricon Technologies Corp Ltd
Beijing Zhongke Cambrian Technology Co Ltd
Original Assignee
Beijing Zhongke Cambrian 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 Beijing Zhongke Cambrian Technology Co Ltd filed Critical Beijing Zhongke Cambrian Technology Co Ltd
Priority to US16/374,126 priority Critical patent/US10795729B2/en
Priority to EP19169140.1A priority patent/EP3561739A1/en
Publication of CN110413561A publication Critical patent/CN110413561A/zh
Application granted granted Critical
Publication of CN110413561B publication Critical patent/CN110413561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)
  • Power Sources (AREA)

Abstract

本申请涉及一种数据加速处理系统,包括:处理装置、存储装置、接口装置和控制装置。所述处理装置用于实现对数据的加速运算处理。所述存储装置与所述处理装置电连接,用于存储服务器传送的数据。所述接口装置与所述处理装置电连接,用于实现所述处理装置与服务器之间的数据传输。所述控制装置用于对所述处理装置的状态进行调控。在运算过程中可以通过所述接口装置将服务器中大量的运算任务传送至所述处理装置进行运算。在完成运算的过程中可以将大量的缓存数据存储在所述存储装置中。所述数据加速处理系统通过所述处理装置、所述存储装置、所述接口装置和所述控制装置之间的配合使得数据的读取速度和运算效率提升。

Description

数据加速处理系统
技术领域
本申请涉及数据运算技术领域,特别是涉及一种数据加速处理系统。
背景技术
随着科技的飞速发展,信息技术在数据采集、数据存储、数据处理等各领域正经历着数量级的重大变革,随之产生的大数据、云计算、机器学习等技术也日臻成熟,并在科学计算、图像处理、语音识别、分类预测、数据挖掘等领域得到了广泛应用。然而在实际应用过程中,HPC(High Performance Computing,高性能计算)对本地和云端的基础计算能力均提出了挑战。针对原有计算平台运算性能的不足,使用硬件加速卡来更快地处理大规模数据工作负载逐渐成为一种趋势。
传统的硬件加速卡包括以GPU(Graphics Processing Unit,图形处理器)为核心的加速卡、以众核处理器为核心的加速卡,还有以FPGA(Field-Programmable GateArray,现场可编程门阵列)为核心的硬件加速卡。传统的硬件加速卡存在着热功耗大、运算效率低、应用不灵活的问题。
发明内容
基于此,有必要针对传统的加速卡热功耗大、运算效率低、应用不灵活的问题,提供一种数据加速处理系统。
一种数据加速处理系统,包括:
处理装置,用于实现对数据的加速运算处理,所述处理装置包括至少一个处理器;
存储装置,包括多组存储单元,每一组所述存储单元与所述处理装置通过电连接,用于存储数据;
接口装置,与所述处理装置电连接,用于实现数据传输;以及,
控制装置,与所述处理装置电连接,用于对所述处理装置的状态进行调控。
在一个实施例中,所述处理器的位宽为(N+M)位,N代表数据位,M代表校验位,其中,N=2n,n为大于等于0的整数,M为正整数。
在一个实施例中,M=n+2,n大于等于3,M大于等于5。
在一个实施例中,所述处理装置包括两个所述处理器;
每一个所述处理器与至少一组所述存储单元电连接;
所述接口装置包括一个PCIE接口和一个与所述PCIE接口电连接的PCIE接口扩展芯片,所述PCIE接口扩展芯片与所述处理器电连接。
在一个实施例中,每一组所述存储单元包括多个双倍速率同步动态随机存储器。
在一个实施例中,还包括:
电源装置,与所述处理装置、所述接口装置和所述控制装置分别电连接。
在一个实施例中,还包括:
电流监测装置,与所述电源装置和所述控制装置分别电连接,用于监控所述电源装置输出保证所述数据加速处理系统正常工作的电流。
在一个实施例中,还包括:
温度监测装置,与所述控制装置电连接,用于监测所述处理装置的温度状态。
在一个实施例中,还包括:
复位装置,与所述处理装置电连接,用于对所述处理装置进行复位控制。
在一个实施例中,还包括:
时钟控制装置,与所述处理装置电连接,用于实现对所述处理装置的时钟控制。
在一个实施例中,所述处理器用于执行n个流水级的计算,n大于或者等于2;
所述处理器,具体用于对数据执行第一流水级的计算得到第一结果,将第一结果输入到第二流水级执行第二流水级的计算并得到第二结果,以此类推将第n-1结果输入到第n流水级执行第n流水级的计算并得到第n结果将所述第n结果输入到所述存储单元,所述n为大于等于2的整数。
在一个实施例中,所述处理器包括:一个主处理电路以及多个从处理电路,
所述主处理电路,用于对输入数据执行数据运算以及与所述多个从处理电路之间传输数据和运算指令;
所述多个从处理电路,用于依据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路,还用于对所述多个中间结果执行后续数据运算得到所述计算指令的计算结果。
在一个实施例中,所述处理器包括:树型模块,所述树型模块包括:一个根端口和多个支端口,所述树型模块的根端口连接所述主处理电路,所述树型模块的多个支端口分别连接多个从处理电路中的一个从处理电路;
所述树型模块,用于转发所述主处理电路与所述多个从处理电路之间的数据块、权值以及运算指令。
在一个实施例中,所述处理器包括:一个主处理电路、分支处理电路以及多个从处理电路;
所述主处理电路,用于将一个输入数据分配成多个数据块,所述输入数据包括:输入神经元数据和权值数据;所述主处理电路,具体用于确定所述输入神经元为广播数据,确定权值数据为分发数据,将一个分发数据分配成多个数据块,将所述多个数据块中的至少一个数据块、广播数据以及多个运算指令中的至少一个运算指令发送给所述分支处理电路;
所述分支处理电路,用于转发所述主处理电路与所述多个从处理电路之间的数据块、广播数据以及运算指令;
所述多个从处理电路,用于依据该运算指令对接收到的数据块以及广播数据执行运算得到中间结果,并将中间结果传输给所述分支处理电路;
所述主处理电路,用于将所述分支处理电路发送的中间结果进行处理得到该运算指令的结果,将该运算指令的结果发送给所述处理器。
在一个实施例中,所述处理器包括:一个主处理电路以及多个从处理电路;
所述多个从处理电路呈阵列分布;每个从处理电路与相邻的其他从处理电路电连接,所述主处理电路电连接所述多个从处理电路中的k个从处理电路,所述k个从处理电路为:第1行的n个从处理电路、第m行的n个从处理电路以及第1列的m个从处理电路;
所述主处理电路,用于将一个输入数据分配成多个数据块,将所述多个数据块中的至少一个数据块以及多个运算指令中的至少一个运算指令发送给所述k个从处理电路;
所述k个从处理电路,用于转发所述主处理电路与所述多个从处理电路之间的数据以及指令;
所述多个从处理电路,用于依据该运算指令对接收到的数据块执行运算得到中间结果,并将运算结果传输给所述k个从处理电路;
所述主处理电路,用于将所述k个从处理电路发送的中间结果进行处理得到该计算指令的结果,将该计算指令的结果发送给所述处理器。
本申请提供一种数据加速处理系统,包括:处理装置、存储装置、接口装置和控制装置。所述处理装置用于实现对数据的加速运算处理。所述处理装置包括至少一个处理器。所述存储装置与所述处理装置电连接,用于存储服务器传送的数据。所述接口装置与所述处理装置电连接,用于实现数据传输。控制装置与所述处理装置电连接,用于对所述处理装置的状态进行调控。在运算过程中可以通过所述接口装置将服务器中大量的运算任务传送至所述处理装置进行运算。在完成运算的过程中可以将大量的缓存数据存储在所述存储装置中。所述数据加速处理系统通过所述处理装置、所述存储装置和所述接口装置之间的配合使得数据的读取速度和运算效率提升。所述处理装置采用不同型号的专用处理器使得所述数据加速处理系统的热功耗大大降低。所述控制装置实时调控所述处理器的运行状态。服务器能够根据所述处理器的运行状态实时调整分配给所述处理器的工作任务。
附图说明
图1为本申请一个实施例中,所述数据加速处理系统的内部结构示意图;
图2为本申请一个实施例中,所述数据加速处理系统的内部结构示意图;
图3为本申请一个实施例中,所述数据加速处理系统的内部结构示意图;
图4为本申请一个实施例中,所述数据加速处理系统的内部结构示意图;
图5为本申请一个实施例中,所述处理器的树型模块结构图;
图6为本申请一个实施例中,所述处理器的树型模块中的二叉树结构图;
图7为本申请一个实施例中,所述处理器的内部结构图;
图8为本申请一个实施例中,所述处理器的内部结构图;
图9为本申请一个实施例中,所述处理器的内部结构图。
附图标号说明:
数据加速处理系统 10
服务器 20
树型模型 40
处理装置 100
主处理电路 102
分支处理电路 103
从处理电路 104
处理器 110
存储装置 200
存储单元 210
接口装置 300
PCIE接口 310
PCIE接口扩展芯片 320
控制装置 400
电源装置 500
复位装置 600
电流监测装置 700
温度监测装置 800
时钟控制装置 900
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本申请的数据加速处理系统进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
请参阅图1,在一个实施例中提供一种数据加速处理系统10,包括处理装置100、存储装置200、接口装置300和控制装置400。
所述处理装置100,用于实现对数据的加速运算处理。本申请实施例可以根据具体的运算需求对所述处理装置100进行设置。当所述数据加速处理系统10用于完成针对深度学习的运算处理时,所述处理装置100能够充分的提高深度学习处理速度与能效,能够与服务器端海量数据加速运算相对接。如图2所示,所述处理装置100包括至少一个处理器110。所述处理器110可以是专用集成电路(Application Specific Integrated Circuit,ASIC)。所述处理器110可以是设计者根据计算需求进行设计的。不同的所述处理器110的处理数据的位数或者实现的运算功能不同。所述处理装置100可以采用不同型号的所述处理器110完成对数据的处理。所述数据加速处理系统10中可以包括多个不同型号的所述处理装置100。通过不同型号的所述处理装置100可以实现不同的数据运算,使得所述数据加速处理系统10的热功耗可以大大降低。同样,所述数据加速处理系统10中选用功耗低、专用性强的所述处理器110使得所述数据加速处理系统10的运算效率高、软件可配置性强、应用更加灵活。
在一个实施例中,所述处理器110的位宽可以只包括数据位。比如所述处理器110的位宽可以包括8bit数据位、128bit数据位或者512bit数据位。在另一个实施例中,所述处理器110的位宽可以为(N+M)位。其中,N为数据位,N=2n,n=0,1,2,3,4,5……。M为校验位,M为正整数,即M≥1。具体的,数据位N每增加一倍,校验位M增加一位,即M=n+2。进一步地,M和n的取值范围可以是:n大于或等于3,M大于或等于5。比如,所述处理器110的位宽可以设置为8bit数据位,5bitECC校验位。所述处理器110的位宽可以设置为16bit数据位,6bitECC校验位。更进一步地,所述处理器110的数据位N可以大于或等于32位,即n大于或等于5。相应地,所述校验位M可以取到大于或等于7,也就是说,数据位N每增加一倍,校验位M增加一位。例如,所述处理器110的位宽可以设置为32bit数据位,7bitECC校验位。所述处理器110的位宽可以设置为64bit数据位,8bitECC校验位。所述处理器110的位宽可以设置为128bit数据位,9bitECC校验位。所述处理器110的位宽可以设置为256bit数据位,10bitECC校验位等情况,在此不再赘述。在设计数据位和校验位的时候可以遵循数据位每增加一倍,校验位只增加一位的规律。应当清楚的是,ECC具有发现错误,纠正错误的功能。一般多应用在进行高速运算的数据处理控制器端,使得整个数据处理控制系统在工作时更趋于安全稳定。
所述存储装置200与所述处理装置100电连接,可选地,所述存储装置200与所述处理装置100通过总线连接,存储装置200用于存储数据。所述存储装置200可以包括多组存储单元210,每一组所述存储单元210均与所述处理器110通过总线连接。可以理解,每一组所述存储单元210可以是DDR SDRAM。其中,DDR SDRAM是Double Data Rate SDRAM的缩写,意为双倍速率同步动态随机存储器,以下简称DDR。
DDR在一个时钟周期内传输两次数据。DDR能够在时钟的上升期和下降期各传输一次数据,因此,DDR可以在与SDRAM相同的总线频率下达到更高的数据传输率。具体地,DDR的速度可以是标准SDRAM的两倍。DDR运用了先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步。DDR使用延时锁定回路提供一个数据滤波信号,当数据有效时,所述处理装置100可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器装置的数据。
在一个实施例中,所述存储装置200可以包括4组所述存储单元210。每一组所述存储单元210包括多个双倍速率同步动态随机存储器,具体地,每一组所述存储单元210可以包括多个DDR4颗粒(芯片)。可选地,DDR4可以采用DDR4-3200。具体的,单个存储单元(单通道/单个DDR)的理论带宽为25600MB/s=25.6GB/s。可以理解,当每一组所述存储单元210中采用DDR4-3200颗粒时,数据传输的理论带宽可达到102.4GB/s在一个实施例中,所述处理器110中设置4个DDR控制器。每个DDR控制器可以控制一组DDR。所述处理器110内部可以包括4个72位DDR4控制器,其中64bit用于传输数据,8bit用于ECC校验。在所述处理器110中设置控制DDR的控制器,用于完成对每个所述存储单元210的数据传输与数据存储的控制。
所述接口装置300与所述处理装置100电连接,所述接口装置300用于实现所述处理装置100与服务器之间的数据传输。比如:所述接口装置300可以为标准PCIE接口,待处理的数据由服务器通过标准PCIE接口传递至所述处理装置100,实现数据传输。优选的,该接口装置300可以采用PCIE 3.0X 16,当采用PCIE 3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置300还可以是其他的接口,所述接口装置300能够实现转接功能即可。另外,所述处理装置100的计算结果仍由所述接口装置300传送回服务器。
所述控制装置400与所述处理装置100电连接,所述控制装置400用于对所述处理装置100的状态进行调控。具体的,所述处理装置100与所述控制装置400可以通过SPI接口电连接。所述控制装置400可以包括单片机(Micro Controller Unit,MCU)。所述处理装置100可以包括多个处理芯片或者多个处理核,可以带动多个负载。因此,所述处理装置100可以处于多负载和轻负载等不同的工作状态。通过所述控制装置400可以实现对所述处理装置100中工作状态的调控。
本实施例中提供的所述数据加速处理系统10,包括处理装置100、存储装置200、接口装置300和控制装置400。所述处理装置100用于实现对数据的加速运算处理。所述存储装置200与所述处理装置100可以通过总线连接,用于存储服务器传送的数据。所述接口装置300与所述处理装置100电连接,用于实现所述处理装置100与服务器之间的数据传输。在运算过程中可以通过所述接口装置300将服务器中大量的运算任务传送至所述处理装置100进行运算。在运算的过程中可以将大量的缓存数据存储在所述存储装置200中。所述控制装置400与所述处理装置100电连接。所述控制装置400用于对所述处理装置100的状态进行监控。所述数据加速处理系统10通过所述处理装置100、所述存储装置200、所述接口装置300和所述控制装置400之间的配合使得数据的读取速度和运算效率提升。
请参阅图2,在一个实施例中,所述处理装置100包括两个所述处理器110。本实施例中,所述处理器110可以是不同型号的芯片。可以理解,所述处理器110的位宽、处理的数据类型以及数据处理速度都可以不同。
图2中,所述处理装置100可以包括两个所述处理器110。每一个所述处理器110通过总线连接多组所述存储单元210。当所述存储单元210为上述的DDR存储器时,所述处理器110还可以设置有DDR的控制器,用于实现对所述存储单元210的控制。
可选地,所述接口装置300包括PCIE接口310和至少一个PCIE接口扩展芯片320。所述PCIE接口310的输入端与服务器电连接。所述PCIE接口310的输出端与所述PCIE接口扩展芯片320的输入端电连接。所述PCIE接口扩展芯片320的输出端与所述处理器110电连接。可以理解,所述PCIE接口310实现了服务器与所述处理装置100之间的数据传输。所述PCIE接口扩展芯片320实现了所述数据加速处理系统10中所述处理器110数量的扩展。
本实施例中,对所述数据加速处理系统10的功能进一步拓展。通过设置所述PCIE接口310和所述PCIE接口扩展芯片320使得所述数据加速处理系统10能够电连接更多的所述处理器110。而每一个所述处理器110都可以电连接多组所述存储单元210,使得所述数据加速处理系统10可以承接更多的运算数据。
请参阅图3,所述数据加速处理系统10包括一个所述PCIE接口310和两个所述PCIE接口扩展芯片320。每一个所述PCIE接口扩展芯片320可以连接两个所述处理器110。每一个所述处理器110又可以连接多个所述存储单元210。这样进一步将所述数据加速处理系统10的数据运算功能进一步扩大。在另外的实施例中,所述数据加速处理系统10还可以包括更多个所述PCIE接口310和更多个所述PCIE接口扩展芯片320。比如,每个接口装置300可以连接三个或三个以上的处理器,以使所述数据加速处理系统10的数据运算功能进一步的扩大。所述数据加速处理系统10的运算可以通过所述处理器110的电连接进行实现。本实施例中,所述数据加速处理系统10的具体结构可以根据在每一个具体的服务器中实现的功能不同而进行设置。
请参阅图4,在一个实施例中所述数据加速处理系统10,还包括电源装置500,所述电源装置500与所述处理装置100、所述接口装置300和所述控制装置400分别电连接。可选地,所述电源装置500与所述处理装置100通过总线(如IIC总线)连接。
所述电源装置500由所述控制装置400控制,所述电源装置500可以将所述PCIE接口310供电压与外部接口供电压转换为适合所述数据加速处理系统10中组件所需要的电压,并为所述数据加速处理系统10提供稳定的电流通路。另外,所述控制装置400可以实现对所述处理装置100的动态调压、调频。所述控制装置400与所述处理装置100电连接。比如,所述控制装置400可以通过SPI总线与所述处理装置100通信,实时获取所述处理器110工作状态,并根据不同的工作状态通过总线(如IIC总线,IIC是Inter-Integrated Circuit的缩写,IIC总线称作集成电路总线)对所述电源装置500输出的电压进行调整,实现动态调压、调频。
在一个实施例中,所述数据加速处理系统10还包括电流监测装置700。所述电流监测装置700与所述电源装置500和所述控制装置400分别电连接。所述电流监测装置700用于控制所述电源装置500输出保证所述数据加速处理系统10正常工作的电流。所述电流监测装置700可以监控所述电源装置500的输出电压和输出电流。所述控制装置400可以通过所述电流监测装置700监测所述电源装置500的输出电流,控制所述电源装置500给所述处理器110供电。可选地,所述电流监测装置700与所述控制装置400通过总线连接。比如,所述控制装置400通过IIC总线检测所述电流监测装置700中的数据,当电流超过预设值时,关断所述电源装置500,实现过流保护。或者当所述控制装置400监控到所述电流监测装置700的入口电流(电流监测装置700的入口电流即为所述电源装置500的输出电流)不在预设电流范围时,所述控制装置400提示所述电源装置500供电不稳。所述预设电流范围不限定,具体所述预设电流范围与所述数据加速处理系统10的结构和使用的规范或者协议有关。
在一个实施例中,所述数据加速处理系统10,还包括温度监测装置800,温度监测装置800与控制装置400电连接,可选地,所述温度监测装置800与所述控制装置400通过总线连接,用于监测所述处理装置100及所述数据加速处理系统10整体的温度状态。可选地,所述温度监测装置800可以是温度传感器,所述温度监测装置800可以设置在靠近所述处理器110的地方。所述控制装置400通过IIC总线检测温度传感器返回值,当温度超过预设值时关断所述电源装置500,实现过热保护。具体地,所述控制装置400可以直接读取所述处理器110的温度值。更进一步,所述控制装置400通过读取存储在每一个所述处理器110中的寄存器的温度值来判断所述处理器110的温度是否正常。
本实施例中,所述数据加速处理系统10还配置了过热保护、过流保护与动态调压、调频的功能。使得所述数据加速处理系统10能够实时处理工作异常,具有安全、可靠等优点。
在一个实施例中,所述数据加速处理系统10,还包括复位装置600。所述复位装置600与所述处理装置100和控制装置400电连接,用于对所述处理装置100进行复位控制。具体的,所述复位装置600可以对所述处理器110进行复位控制,或者对一个所述处理器110的4组DDR分别进行复位。所述复位装置600由一片与门芯片构成,当所述PCIE接口310或所述控制装置400发出复位信号时,所述处理装置100完成复位操作。
在一个实施例中,所述数据加速处理系统10还包括时钟控制装置900。所述时钟控制装置900与所述处理装置100电连接,用于实现对所述处理装置100的时钟控制。所述时钟控制装置900可以包括晶振与时钟缓冲器,分别为所述处理装置100提供内部单端时钟及外部差分时钟。本申请中提到的电连接方式可以是总线连接、一般的导线连接或者专用的电线连接中的一种。
请参阅图5-图9,提供了所述处理器110的不同结构的示意图。在一个实施例中,所述处理装置100包括多个处理器110。每个所述处理器110用于执行n个流水级的计算,n大于或者等于2。每个所述处理器110用于对数据执行第一流水级的计算得到第一结果,将第一结果输入到第二流水级执行第二流水级的计算并得到第二结果。以此类推将第n-1结果输入到第n流水级执行第n流水级的计算得到第n结果。将所述第n结果输入到所述存储单元210,所述n为大于或者等于2的整数。
具体的,所述处理器110用于执行运算包括神经网络计算。
在一个实施例中,所述处理器110可以用于执行两个、三个或四个流水级的计算。相应地,所述处理器110包括但不仅限于:第一流水级的第一个或多个乘法器。第二流水级的一个或者多个加法器(更具体的,各加法器也可以组成加法树)。和/或第三流水级的激活函数单元。和/或第四流水级的向量处理单元。更具体的,向量处理单元可以处理向量运算和/或池化运算。第一流水级将输入数据1(in1)和输入数据2(in2)相乘得到相乘之后的输出(out),过程为:out=in1*in2。第二流水级将输入数据in1通过加法器相加得到输出数据(out)。更具体的,第二流水级为加法树时,将输入数据in1通过加法树逐级相加得到输出数据(out),其中in1是一个长度为N的向量,N大于1,过程为:out=in1[1]+in1[2]+...+in1[N],和/或将输入数据(in1)通过加法数累加之后和输入数据(in2)相加得到输出数据(out),过程为:out=in1[1]+in1[2]+...+in1[N]+in2,或者将输入数据(in1)和输入数据(in2)相加得到输出数据(out),过程为:out=in1+in2。
第三流水级将输入数据(in)通过激活函数(active)运算得到激活输出数据(out),过程为:out=active(in),激活函数active可以是sigmoid、tanh、relu、softmax等,除了做激活操作,第三流水级可以实现其他的非线性函数,可将将输入数据(in)通过运算(f)得到输出数据(out),过程为:out=f(in)。第四流水级的向量处理单元将输入数据(in)通过池化运算得到池化操作之后的输出数据(out),过程为out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。
所述处理器110执行运算包括第一流水级的运算,即是将所述输入数据1和输入数据2相乘,得到相乘之后的数据。第二流水级执行的加法运算(更具体的,为加法树运算,用于将输入数据1通过加法树逐级相加),或者将所述输入数据1通过和输入数据2相加得到输出数据。和/或第三流水级执行的激活函数运算,对输入数据通过激活函数(active)运算得到输出数据。和/或第四流水级执行的池化运算,out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。以上几个流水级的运算可以自由选择一个多个部分进行不同顺序的组合,从而实现各种不同功能的运算。
可选地,该所述处理器110可以包括一个主处理电路102以及多个从处理电路104。
所述主处理电路102,用于将一个输入数据分配成多个数据块,将所述多个数据块中的至少一个数据块以及多个运算指令中的至少一个运算指令发送给所述从处理电路104。
所述多个从处理电路104,用于依据该运算指令对接收到的数据块执行运算得到中间结果,并将中间结果传输给所述主处理电路102。
所述主处理电路102,用于将多个从处理电路104发送的中间结果进行处理得到该运算指令的结果,将该运算指令的结果发送给所述处理器110。
进一步可选地,如图5所示,所述处理器110可以包括树型模块40。所述树型模块40包括:一个根端口401和多个支端口404。所述树型模块40的根端口连接所述主处理电路102。所述树型模块40的多个支端口分别连接多个从处理电路104中的一个从处理电路;所述树型模块40具有收发功能,例如如图5所示,所述树型模块40即为发送功能。该树型模块40还可以实现接收功能。所述树型模块40用于转发所述主处理电路102与所述多个从处理电路104之间的数据块、权值以及运算指令。
可选的,该树型模块40为计算装置的可选择结果,其可以包括至少1层节点,该节点为具有转发功能的线结构,该节点本身可以不具有计算功能。如树型模块具有零层节点,即无需该树型模块。
可选的,所述树型模块40可以为n叉树结构。例如,如图6所示的二叉树结构,当然也可以为三叉树结构,该n可以为大于等于2的整数。本申请具体实施方式并不限制上述n的具体取值,上述层数也可以为2,所述从处理电路104可以连接除倒数第二层节点以外的其他层的节点,例如可以连接如图6所示的倒数第一层的节点。
在一种可选实施例中,所述处理器110可以包括分支处理电路103,其具体的电连接结构如图7或图8所示。
所述主处理电路102与分支处理电路103电连接,所述分支处理电路103与多个所述从处理电路104电连接。在一个实施例中,所述主处理电路102用于将一个输入数据分配成多个数据块。所述输入数据包括:输入神经元数据和权值数据。所述主处理电路102具体用于确定所述输入神经元为广播数据,确定权值数据为分发数据。所述主处理电路102还用于将一个分发数据分配成多个数据块,将所述多个数据块中的至少一个数据块、广播数据以及多个运算指令中的至少一个运算指令发送给所述分支处理电路103。
所述分支处理电路103,用于执行转发所述主处理电路102与所述从处理电路104之间的数据或指令。
在另一种可选实施例中,如图9所示,所述处理器110可以包括一个主处理电路102和多个从处理电路104。在一个实施例中,多个所述从处理电路104呈阵列分布。每个所述从处理电路104与相邻的其他从处理电路电连接,所述主处理电路102电连接所述多个从处理电路104中的k个从处理电路,所述k个基础电路为:第1行的n个从处理电路、第m行的n个从处理电路以及第1列的m个从处理电路。k个从处理电路,用于在所述主处理电路102以及多个从处理电路104之间的数据以及指令的转发。
上述的所述处理器110的具体结构包括了多种所述处理器110的不同的架构。可以理解,所述处理器110也可以是上述方案之外的其他架构。所述处理器110可以实现各种复杂的神经网络运算。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种数据加速处理系统(10),其特征在于,包括:
处理装置(100),用于实现对数据的加速运算处理,所述处理装置(100)包括至少一个处理器(110);
存储装置(200),包括多组存储单元(210),每一组所述存储单元(210)与所述处理装置(100)电连接,用于存储数据;
接口装置(300),与所述处理装置(100)电连接,用于实现数据传输;以及,
控制装置(400),与所述处理装置(100)电连接,用于对所述处理装置(100)的状态进行调控。
2.根据权利要求1所述的数据加速处理系统(10),其特征在于,所述处理器(110)的位宽为(N+M)位,N代表数据位,M代表校验位,其中,N=2n,n为大于或等于0的整数,M为正整数。
3.根据权利要求2所述的数据加速处理系统(10),其特征在于,M=n+2,n大于或等于3,M大于或等于5。
4.根据权利要求1所述的数据加速处理系统(10),其特征在于,所述处理装置(100)包括两个所述处理器(110);
每一个所述处理器(110)与至少一组所述存储单元(210)电连接;
所述接口装置(300)包括一个PCIE接口(310)和一个与所述PCIE接口(310)电连接的PCIE接口扩展芯片(320),所述PCIE接口扩展芯片(320)与所述处理器(110)电连接。
5.根据权利要求1所述的数据加速处理系统(10),其特征在于,每一组所述存储单元(210)包括多个双倍速率同步动态随机存储器。
6.根据权利要求1所述的数据加速处理系统(10),其特征在于,还包括:
电源装置(500),与所述处理装置(100)、所述接口装置(300)和所述控制装置(400)分别电连接。
7.根据权利要求6所述的数据加速处理系统(10),其特征在于,还包括:
电流监测装置(700),与所述电源装置(500)和所述控制装置(400)分别电连接,用于监控所述电源装置(500)输出保证所述数据加速处理系统(10)正常工作的电流。
8.根据权利要求1所述的数据加速处理系统(10),其特征在于,还包括:
温度监测装置(800),与所述控制装置(400)电连接,用于监测所述处理装置(100)的温度状态。
9.根据权利要求1所述的数据加速处理系统(10),其特征在于,还包括:
复位装置(600),与所述处理装置(100)电连接,用于对所述处理装置(100)进行复位控制。
10.根据权利要求1所述的数据加速处理系统(10),其特征在于,还包括:
时钟控制装置(900),与所述处理装置(100)电连接,用于实现对所述处理装置(100)的时钟控制。
11.根据权利要求1-10中任一项所述的数据加速处理系统(10),其特征在于,所述处理器(110)用于执行n个流水级的计算,n大于或者等于2;
所述处理器(110),具体用于对数据执行第一流水级的计算得到第一结果,将第一结果输入到第二流水级执行第二流水级的计算并得到第二结果,以此类推将第n-1结果输入到第n流水级执行第n流水级的计算并得到第n结果,将所述第n结果输入到所述存储单元(210),所述n为大于或等于2的整数。
12.根据权利要求1-10中任一项所述的数据加速处理系统(10),其特征在于,所述处理器(110)包括:一个主处理电路(102)以及多个从处理电路(104),
所述主处理电路(102),用于对输入数据执行数据运算以及与所述多个从处理电路(104)之间传输数据和运算指令;
所述多个从处理电路(104),用于依据从所述主处理电路(102)传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路(102);
所述主处理电路(102),还用于对所述多个中间结果执行后续数据运算得到所述运算指令的计算结果。
13.根据权利要求12所述的数据加速处理系统(10),其特征在于,所述处理器(110)包括:树型模块,所述树型模块包括:一个根端口和多个支端口,所述树型模块的根端口连接所述主处理电路(102),所述树型模块的多个支端口分别连接多个从处理电路(104)中的一个从处理电路;
所述树型模块,用于转发所述主处理电路(102)与所述多个从处理电路(104)之间的数据块、权值以及运算指令。
14.根据权利要求1-10中任一项所述的数据加速处理系统(10),其特征在于,所述处理器(110)包括:一个主处理电路(102)、分支处理电路(103)以及多个从处理电路(104);
所述主处理电路(102),用于将一个输入数据分配成多个数据块,所述输入数据包括:输入神经元数据和权值数据;所述主处理电路(102),具体用于确定所述输入神经元为广播数据,确定权值数据为分发数据,将一个分发数据分配成多个数据块,将所述多个数据块中的至少一个数据块、广播数据以及多个运算指令中的至少一个运算指令发送给所述分支处理电路(103);
所述分支处理电路(103),用于转发所述主处理电路(102)与所述多个从处理电路(104)之间的数据块、广播数据以及运算指令;
所述多个从处理电路(104),用于依据该运算指令对接收到的数据块以及广播数据执行运算得到中间结果,并将中间结果传输给所述分支处理电路(103);
所述主处理电路(102),用于将所述分支处理电路(103)发送的中间结果进行处理得到该运算指令的结果,将该运算指令的结果发送给所述处理器(110)。
15.根据权利要求1-10中任一项所述的数据加速处理系统(10),其特征在于,所述处理器(110)包括:一个主处理电路(102)以及多个从处理电路(104);
所述多个从处理电路(104)呈阵列分布;每个从处理电路(104)与相邻的其他从处理电路电连接,所述主处理电路(102)电连接所述多个从处理电路(104)中的k个从处理电路,所述k个从处理电路为:第1行的n个从处理电路、第m行的n个从处理电路以及第1列的m个从处理电路;
所述主处理电路(102),用于将一个输入数据分配成多个数据块,将所述多个数据块中的至少一个数据块以及多个运算指令中的至少一个运算指令发送给所述k个从处理电路;
所述k个从处理电路,用于转发所述主处理电路(102)与所述多个从处理电路(104)之间的数据以及指令;
所述多个从处理电路(104),用于依据该运算指令对接收到的数据块执行运算得到中间结果,并将运算结果传输给所述k个从处理电路;
所述主处理电路(102),用于将所述k个从处理电路发送的中间结果进行处理得到该计算指令的结果,将该计算指令的结果发送给所述处理器(110)。
CN201910176125.2A 2018-04-28 2019-03-08 数据加速处理系统 Active CN110413561B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/374,126 US10795729B2 (en) 2018-04-28 2019-04-03 Data accelerated processing system
EP19169140.1A EP3561739A1 (en) 2018-04-28 2019-04-15 Data accelerated processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810403926 2018-04-28
CN2018104039263 2018-04-28

Publications (2)

Publication Number Publication Date
CN110413561A true CN110413561A (zh) 2019-11-05
CN110413561B CN110413561B (zh) 2021-03-30

Family

ID=68357533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910176125.2A Active CN110413561B (zh) 2018-04-28 2019-03-08 数据加速处理系统

Country Status (1)

Country Link
CN (1) CN110413561B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111539029A (zh) * 2020-04-25 2020-08-14 章稳建 基于工业互联网的大数据存储速率优化方法及云计算中心
WO2022057600A1 (zh) * 2020-09-15 2022-03-24 安徽寒武纪信息科技有限公司 一种加速单元、加速组件、加速装置以及电子设备
CN116561051A (zh) * 2023-04-10 2023-08-08 中科驭数(北京)科技有限公司 一种硬件加速卡和异构计算系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035751A (zh) * 2014-06-20 2014-09-10 深圳市腾讯计算机系统有限公司 基于多图形处理器的数据并行处理方法及装置
CN106250103A (zh) * 2016-08-04 2016-12-21 东南大学 一种卷积神经网络循环卷积计算数据重用的系统
US20170262953A1 (en) * 2016-03-14 2017-09-14 Dell Products, Lp System and Method for Normalization of GPU Workloads Based on Real-Time GPU Data
CN107861757A (zh) * 2017-11-30 2018-03-30 上海寒武纪信息科技有限公司 运算装置以及相关产品
CN107862374A (zh) * 2017-10-30 2018-03-30 中国科学院计算技术研究所 基于流水线的神经网络处理系统和处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035751A (zh) * 2014-06-20 2014-09-10 深圳市腾讯计算机系统有限公司 基于多图形处理器的数据并行处理方法及装置
US20170262953A1 (en) * 2016-03-14 2017-09-14 Dell Products, Lp System and Method for Normalization of GPU Workloads Based on Real-Time GPU Data
CN106250103A (zh) * 2016-08-04 2016-12-21 东南大学 一种卷积神经网络循环卷积计算数据重用的系统
CN107862374A (zh) * 2017-10-30 2018-03-30 中国科学院计算技术研究所 基于流水线的神经网络处理系统和处理方法
CN107861757A (zh) * 2017-11-30 2018-03-30 上海寒武纪信息科技有限公司 运算装置以及相关产品

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111539029A (zh) * 2020-04-25 2020-08-14 章稳建 基于工业互联网的大数据存储速率优化方法及云计算中心
CN111539029B (zh) * 2020-04-25 2020-12-18 小快(厦门)网络科技有限公司 基于工业互联网的大数据存储速率优化方法及云计算中心
WO2022057600A1 (zh) * 2020-09-15 2022-03-24 安徽寒武纪信息科技有限公司 一种加速单元、加速组件、加速装置以及电子设备
CN116561051A (zh) * 2023-04-10 2023-08-08 中科驭数(北京)科技有限公司 一种硬件加速卡和异构计算系统
CN116561051B (zh) * 2023-04-10 2024-02-02 中科驭数(北京)科技有限公司 一种硬件加速卡和异构计算系统

Also Published As

Publication number Publication date
CN110413561B (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN109522052B (zh) 一种计算装置及板卡
CN208432998U (zh) 数据加速处理系统
WO2018194845A1 (en) Queue management for direct memory access
CN110413561A (zh) 数据加速处理系统
CN104820657A (zh) 一种基于嵌入式异构多核处理器上的核间通信方法及并行编程模型
US10795729B2 (en) Data accelerated processing system
CN109543832A (zh) 一种计算装置及板卡
TW201918883A (zh) 高頻寬記憶體系統以及邏輯裸片
CN112799726B (zh) 数据处理装置、方法及相关产品
KR101950786B1 (ko) 분산처리용 인공신경망 연산 가속화 방법
CN109947573A (zh) 适用于电力系统边缘计算的智能加速芯片
CN107704413A (zh) 一种基于vpx架构的加固型并行信息处理平台
KR102137802B1 (ko) 분산처리용 인공신경망 연산 가속화 장치, 이를 이용한 인공신경망 가속화 시스템, 및 그 인공신경망의 가속화 방법
CN108491924B (zh) 一种面向人工智能计算的神经网络数据串行流水处理装置
CN109491934A (zh) 一种集成计算功能的存储管理系统控制方法
CN109726800B (zh) 运算方法、装置及相关产品
CN111767995A (zh) 运算方法、装置及相关产品
Pietras Hardware conversion of neural networks simulation models for neural processing accelerator implemented as FPGA-based SoC
CN110059809A (zh) 一种计算装置及相关产品
CN112306951A (zh) 一种基于fpga的cnn-svm资源高效型加速架构
CN108572787A (zh) 一种数据存储、读取的方法及装置
WO2022247880A1 (zh) 一种对神经网络的算子进行融合的方法和相关产品
CN113556242B (zh) 一种基于多处理节点来进行节点间通信的方法和设备
US20230169031A1 (en) Method and device for constructing communication topology structure on basis of multiple processing nodes
CN111382852B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant after: Zhongke Cambrian Technology Co., Ltd

Address before: 100190 room 644, comprehensive research building, No. 6 South Road, Haidian District Academy of Sciences, Beijing

Applicant before: Beijing Zhongke Cambrian Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant