CN111209245B - 数据处理装置、方法及相关产品 - Google Patents

数据处理装置、方法及相关产品 Download PDF

Info

Publication number
CN111209245B
CN111209245B CN201811393352.2A CN201811393352A CN111209245B CN 111209245 B CN111209245 B CN 111209245B CN 201811393352 A CN201811393352 A CN 201811393352A CN 111209245 B CN111209245 B CN 111209245B
Authority
CN
China
Prior art keywords
data
machine learning
interface
broadcast
processing
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
CN201811393352.2A
Other languages
English (en)
Other versions
CN111209245A (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 Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information 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 Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN201811393352.2A priority Critical patent/CN111209245B/zh
Priority to KR1020207033053A priority patent/KR20200139829A/ko
Priority to EP21217809.9A priority patent/EP4009183A1/en
Priority to PCT/CN2019/111977 priority patent/WO2020078470A1/zh
Priority to JP2020569113A priority patent/JP7060720B2/ja
Priority to EP21217804.0A priority patent/EP4009186A1/en
Priority to EP19873122.6A priority patent/EP3869352A4/en
Priority to EP21217811.5A priority patent/EP4009184A1/en
Priority to US17/278,812 priority patent/US20220035762A1/en
Priority to EP21217802.4A priority patent/EP4009185A1/en
Publication of CN111209245A publication Critical patent/CN111209245A/zh
Priority to JP2020206281A priority patent/JP7074831B2/ja
Priority to JP2020206293A priority patent/JP7074832B2/ja
Priority to JP2020206272A priority patent/JP7053775B2/ja
Priority to JP2020206306A priority patent/JP7074833B2/ja
Publication of CN111209245B publication Critical patent/CN111209245B/zh
Application granted granted Critical
Priority to US17/564,398 priority patent/US11880328B2/en
Priority to US17/564,529 priority patent/US11868299B2/en
Priority to US17/564,560 priority patent/US20220121603A1/en
Priority to US17/564,389 priority patent/US11841816B2/en
Priority to US17/564,579 priority patent/US11960431B2/en
Priority to US17/564,366 priority patent/US11971836B2/en
Priority to US17/564,492 priority patent/US11880330B2/en
Priority to US17/564,509 priority patent/US11797467B2/en
Priority to US17/564,411 priority patent/US11809360B2/en
Priority to US17/564,431 priority patent/US11880329B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Multi Processors (AREA)

Abstract

本申请涉及一种数据处理装置、方法及相关产品。所述数据处理装置包括:机器学习装置、传输电路以及共享存储器,机器学习装置包括至少一个机器学习单元,机器学习单元所执行的单播读操作和广播操作共享一个数据接收接口,机器学习单元通过发送接口和共享数据接收接口与传输电路连接,传输电路与共享存储器连接;传输电路用于根据机器学习装置通过发送接口发出的数据操作信号,从共享存储器中获取机器学习装置所需的输入数据,并将输入数据通过共享数据接收接口返回至机器学习装置。本数据处理装置能够有效节省机器学习单元中返回的数据接口的数量,降低硬件的面积和功耗。

Description

数据处理装置、方法及相关产品
技术领域
本申请涉及信息处理技术领域,特别是涉及一种数据处理装置、方法及相关产品。
背景技术
随着信息技术的不断发展和日益增长的需求,人们对数据访问和数据处理的需求越来越高,随之对一些处理数据和访问数据的处理器的要求也越来越严格。以一种通用处理器为例,多个通用处理器核(例如,CPU核)构成的多核处理器,以其强大的并行计算能力,成为一种主流。
但是随着目前机器学习算法的不断发展,越来越多架构的机器学习芯片逐渐问世,这些机器学习芯片经常需要以单播读、广播等多种方式访问或者处理共享存储中的数据,因此设置有相应的多个传输接口,导致机器学习芯片面积较大。
因此,如何简化机器学习芯片的传输接口以降低机器学习芯片的面积,成为当前技术人员亟待解决的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够简化机器学习芯片的传输接口的数据处理装置、方法及相关产品。
第一方面,本申请实施例提供了一种数据处理装置,所述数据处理装置包括:机器学习装置、传输电路以及共享存储器,所述机器学习装置包括至少一个机器学习单元,所述机器学习单元所执行的单播读操作和广播操作共享一个数据接收接口,所述机器学习单元通过发送接口和共享数据接收接口与所述传输电路连接,所述传输电路与所述共享存储器连接;
所述传输电路,用于根据所述机器学习装置通过所述发送接口发出的数据操作信号,从所述共享存储器中获取所述机器学习装置所需的输入数据,并将所述输入数据通过所述共享数据接收接口返回至所述机器学习装置。
第二方面,本申请实施例提供了一种组合处理装置,该组合处理装置包括如第一方面所述的数据处理装置、通用互联接口,和其他处理装置。该数据处理装置与上述其他处理装置进行交互,共同完成用户指定的操作。该组合处理装置还可以包括存储装置,该存储装置分别与所述数据处理装置和所述其他处理装置连接,用于保存所述数据处理装置和所述其他处理装置的数据。
第三方面,本申请实施例提供了一种机器学习芯片,该机器学习芯片包括上述第一方面所述的数据处理装置和/或上述第二方面所述的组合处理装置。
第四方面,本申请实施例提供了一种机器学习芯片封装结构,该机器学习芯片封装结构包括上述第三方面所述的机器学习芯片。
第五方面,本申请实施例提供了一种板卡,该板卡包括上述第四方面所述的机器学习芯片。
第六方面,本申请实施例提供了一种电子装置,该电子装置包括上述第五方面所述的板卡。
上述数据处理装置、方法及相关产品,通过至少一个机器学习单元执行单播读操作和广播操作时共享所述机器学习单元上的一个数据接收接口,能够有效节省机器学习单元中返回的数据接口的数量,节省硬件资源,降低硬件的面积和功耗。
附图说明
图1为一个实施例中数据处理装置的结构示意图之图一;
图2为一个实施例中机器学习单元的结构示意图;
图3为一个实施例中数据处理装置的结构示意图之图二;
图4为一个实施例中数据处理装置的结构示意图之图三;
图5为一个实施例中数据处理装置的结构示意图之图四;
图6为一个实施例中一种组合处理装置的结构示意图;
图7为一个实施例中另一种组合处理装置的结构示意图;
图8为一个实施例中一种板卡的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明实施例涉及的数据处理装置,可以通过软件、硬件或者软硬件结合的方式实现;该数据处理装置可以为图1所示的部分或者全部。所述数据处理装置可以包括:机器学习装置11、传输电路12以及共享存储器13,所述机器学习装置11可以包括至少一个机器学习单元15,所述机器学习单元15所执行的单播读操作和广播操作共享一个数据接收接口142,所述机器学习单元通过发送接口141和共享数据接收接口142与所述传输电路12连接,所述传输电路12与所述共享存储器13连接;所述传输电路12,用于根据所述机器学习装置11通过所述发送接口141发出的数据操作信号,从所述共享存储器13中获取所述机器学习装置所需的输入数据,并将所述输入数据通过所述共享数据接收接口142返回至所述机器学习装置11。需要说明的是,上述机器学习单元15可以包括第一传输接口14(图中未示出),第一传输接口可以包括发送接口141和共享数据接收接口142。
可选的,所述机器学习装置11可以用于根据输入数据,执行机器学习运算,得到输出数据。可选的,所述机器学习装置11还可以用于将输出数据通过传输电路12传输至共享存储器13进行数据存储。具体的,若机器学习装置11用于执行一种神经网络运算时,机器学习装置11可以根据输入神经元数据和权值数据,执行人工神经网络运算,得到输出神经元数据,以及将输出神经元数据作为新的输入神经元数据,并通过传输电路12传输至共享存储器13进行数据存储。
需要说明的是,上述机器学习单元、传输电路、共享存储器以及各类接口均可以通过硬件电路的方式实现。示例性地,传输电路可以是广播总线(broadcast bus);共享存储器可以是非易失性和/或易失性存储器,包括但不限于随机存取存储器(RAM)、高速缓冲存储器等;各类接口可以对应一个或多个数据I/O(in/out,读入读出)接口或I/O引脚。
本申请提出的数据处理装置可以应用于机器学习运算,其中,机器学习运算包括神经网络运算、k-means运算、支持向量机运算等。当上述机器学习装置进行神经网络计算时,可选地,上述输入数据可以包括输入神经元数据和/或权值数据,该输入神经元数据和权值数据是机器学习装置在执行一种人工神经网络运算时需要输入的数据;相应的,上述输出数据可以包括输出神经元数据,该输出神经元数据是机器学习装置在执行一种人工神经网络运算时输出的中间结果或最终结果。可以理解的是,因为权值数据和神经元数据是可以复用的,因此在计算过程中输入数据并不一定要包括输入神经元数据和权值数据,也可以仅包括输入神经元数据,也可以仅包括权值数据。
以神经网络运算为例(如果不进行额外说明,本实施例中均以神经网络运算为例进行说明),本申请提出的数据处理装置可以进行神经网络中的一层的运算,也可以进行神经网络中的多层的运算。对于多层神经网络,其实现过程可以是:在正向运算中,当上一层人工神经网络执行完成之后,下一层的运算指令会将运算单元中计算出的输出神经元数据作为下一层的输入神经元数据进行运算(或者是对该输出神经元数据进行某些操作再作为下一层的输入神经元数据),同时,将权值数据也替换为下一层的权值数据;在反向运算中,当上一层人工神经网络的反向运算执行完成后,下一层运算指令会将运算单元中计算出的输入神经元梯度(同样可以作为一种输入的神经元数据)作为下一层的输出神经元梯度进行运算(同样可以作为一种输出的神经元数据)(或者是对该输入神经元梯度进行某些操作再作为下一层的输出神经元梯度),同时将权值数据替换为下一层的权值数据。
参照图1所示,在一种可选的方案中,上述机器学习装置11可以包括多个机器学习单元15。针对多层神经网络的运算,以正向运算中某一层神经网络的计算为例进行说明。在一种实施方式中,上述机器学习装置可以通过多个机器学习单元(MLU,Machine LearningUnit)并行计算神经网络中该层所有神经元的输出神经元数据。示例性地,该机器学习装置包括4个机器学习单元,该层神经网络具有100个神经元,则可以分配由每个机器学习单元处理其中25个神经元,可以通过设置对应的运算指令来实现;在该过程中,每一个机器学习单元均可以通过传输电路从共享存储器中获取分配的该层25个神经元分别对应的输入神经元数据和权值数据,以此计算得到分配的该层25个神经元的输出神经元数据,并可以将分配的该层25个神经元的输出神经元数据通过传输电路传输至共享存储器进行存储。可以理解的是,上述各个机器学习单元在处理其分配的该层的多个神经元数据时,可以是并行计算处理的;如此进行一层又一层神经网络的并行计算,可以实现神经网络计算的并行处理,提高了处理效率。
在另一种可选的方案中,上述机器学习装置还可以利用多个机器学习单元按照一定先后顺序分别计算神经网络中各层所有神经元的输出神经元数据。在该过程中,前一个机器学习单元可以将该层所有神经元的输出神经元数据通过传输电路传输至共享存储器进行存储,以供后一个机器学习单元可以提取到该层所有神经元的输出神经元数据作为下一层的输入神经元数据进行计算。可以理解的是,上述应用适用于每一层的神经网络计算量不大的场景,例如每一层的神经元数目较少的神经网络的计算。
参照图2所示,以图1中的机器学习单元0为例,这里对机器学习单元进行详细说明。在一种方案中,机器学习单元15可以包括:发送接口141、共享数据接收接口142、至少一个运算单元151、以及与所述运算单元151连接的控制器单元152;所述运算单元151包括一个主处理电路151a和多个从处理电路151b,所述运算单元151通过所述发送接口141和共享数据接收接口142与所述传输电路12连接;
所述控制器单元152,用于通过所述发送接口141向所述传输电路12发送所述数据操作信号和所述输出神经元数据,并通过所述共享数据接收接口142接收所述传输电路12从所述共享存储器13获取的所述输入神经元数据和所述权值数据,并将所述输入神经元数据和所述权值数据发送给所述主处理电路151a和/或所述从处理电路151b;
所述主处理电路151a,用于将所述输入神经元数据和/或权值数据分发至所述多个从处理电路151b;所述多个从处理电路151b,用于依据所述神经元数据和权值数据并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路151a;所述主处理电路151a,还用于对所述多个中间结果执行后续处理得到计算结果。其中,所述后续处理可以包括激活运算。具体地,该控制器单元152还可以获取计算指令,并解析该计算指令得到多个运算指令,将该多个运算指令发送给所述主处理电路。可以理解的是,在本实施例中,当机器学习单元包括多个运算单元时,各运算单元可以共用上述发送接口和上述共享数据接收接口。
举例说明,在一个可选的技术方案中,主处理电路也可以包括一个控制器单元,该控制器单元可以包括主指令处理单元,具体用于将运算指令译码成微指令。当然在另一种可选方案中,从处理电路也可以包括另一个控制器单元,该另一个控制器单元包括从指令处理单元,具体用于接收并处理微指令。上述微指令可以为指令的下一级指令,该微指令可以通过对指令的拆分或解码后获得,能被进一步解码为各部件、各单元或各处理电路的控制信号。例如,乘积微指令为卷积指令的下一级指令。
示例型性的,以上述的机器学习单元的结构为例,对该机器学习单元的神经网络运算流程进行详细说明,参见以下步骤S101-S106:
S101,在控制器单元的指令存储单元的首地址处预先存入一条IO指令;
S102,控制器单元从指令存储单元的首地址读取该IO指令,然后根据该IO指令译出的控制信号,通过片外接口从片外存储器中获取该机器学习单元对应的神经网络运算指令,或者,通过传输电路从共享存储器中获取该机器学习单元对应的神经网络计算指令,并将获得的计算指令储存在指令存储单元中;
S103,控制器单元从指令存储单元中读入下一条IO指令,根据该IO指令译出的数据操作信号,通过传输电路从共享存储器中读取运算单元需要的所有数据块,包括需要的分配的该层神经元的输入神经元数据和权值数据,还可以包括用于作快速的激活函数运算的插值表、用于配置运算器件参数的常数表、偏置数据等;上述数据操作信号中包括上述数据块在共享存储器中的源地址;
S104,控制器单元从指令存储单元中读入下一条CONFIG(配置)指令,根据该CONFIG指令译出的控制信号,配置该层神经网络计算所需的各类常数,例如,运算单元根据激活函数所需的常数配置其内寄存器的值;
S105,控制器单元从指令存储单元中读入下一条COMPUTE(计算)指令,根据该COMPUTE指令译出的控制信号(即运算指令),运算单元将分配的该层神经元的输入神经元数据、权值数据和运算指令传输给主处理电路;主处理电路可以将分配的该层神经元的输入神经元数据确定为广播数据,权值数据确定为分发数据,将一个分发数据分配成多个数据块,将多个数据块中的至少一个数据块、广播数据以及多个运算指令中的至少一个运算指令发送给从处理电路,由从处理电路根据乘法处理电路、累加处理电路等得到中间结果,并由主处理电路根据中间结果和激活处理电路等得到分配的该层神经元输出的神经元数据;
S106,控制器单元从指令存储单元中读入下一条IO指令,根据该IO指令译出的数据操作信号,将上述输出的神经元数据,通过传输电路传输至共享存储器中存储,下一层部分神经元的输入神经元数据;上述数据操作信号中包括上述输出的神经元数据在共享存储器中的目的地址。
以下示例性地对S105进行说明。以神经网络运算中的全连接运算为例,某层神经网络过程可以为:y=f(wx+b),其中,x为输入神经元矩阵,w为权值矩阵,b为偏置标量,f为激活函数,具体可以为:sigmoid函数,tanh、relu、softmax函数中的任意一个。这里假设主从处理电路之间为二叉树关系(一种树型关系),运算单元具有一个主处理电路和8个从处理电路,则上述S105的实现的方法可以为:控制器单元从共享存储器内获取输入神经元矩阵x,权值矩阵w以及全连接运算指令,将输入神经元矩阵x,权值矩阵w以及全连接运算指令传输给主处理电路;主处理电路确定该输入神经元矩阵x为广播数据,确定权值矩阵w为分发数据,将权值矩阵w拆分成8个子矩阵,然后将8个子矩阵通过树型模块分发给8个从处理电路,将输入神经元矩阵x广播给8个从处理电路,从处理电路并行执行8个子矩阵与输入神经元矩阵x的乘法运算和累加运算得到8个中间结果,将8个中间结果发送给主处理电路;主处理电路,用于将8个中间结果排序得到wx的运算结果,将该运算结果执行偏置b的运算后执行激活运算得到最终结果y。
可以理解的是,因为上述各机器学习单元可以并行对某一层的各分配的神经元进行计算,因此共享存储器中可以存储有每一层所有神经元的输出神经元数据,以及下一层所有神经元需要的输入的神经元数据,而权值数据可以复用或从共享存储器中获取新一层的神经网络的权值数据。
需要说明的是,各机器学习单元中可以包括一个运算单元,也可以包括多个运算单元,而且各运算单元的结构可以相同,也可以不同。其中,各运算单元的结构体现在主处理电路和各从处理电路的关系可以包括但不限于是树型、H型、脉动阵列型的关系。本申请提供的技术方案将运算单元设置成一主多从结构,对于正向运算的计算指令,其可以将依据正向运算的计算指令将数据进行拆分,这样通过多个从处理电路即能够对计算量较大的部分进行并行运算,从而提高运算速度,节省运算时间,进而降低功耗。
现在回到上述图1中所示的本实施例涉及的数据处理装置。其中,单播读操作对应的数据操作信号可以是:单播读指令、单播读请求,广播操作对应的数据操作信号可以是:广播指令、多播指令、广播请求、多播请求。示例性地,单播读指令为某机器学习单元发送的对共享存储器中源地址的输入神经元数据和权值数据的读取指令,需要返回该输入神经元数据和权值数据至上述机器学习单元,该输入神经元数据和权值数据为该机器学习单元根据计算指令进行某一层分配的神经元计算过程中该分配的神经元所需的输入神经元数据和权值数据;广播指令为某机器学习单元发送的对共享存储器中源地址的输入神经元数据和权值数据的读取指令,需要返回该输入神经元数据和权值数据至上述机器学习装置中的所有机器学习单元,该输入神经元数据可以是某一层所有的神经元所需的输入神经元数据,即上一层所有的输出神经元数据,该权值数据可以为复用的权值数据,例如卷积核;多播指令与广播指令的不同在于,多播指令的数据返回对象并非上述机器学习装置中的所有机器学习单元,而是与该多播指令中标记域对应的多个机器学习单元。此外,一般来说,指令和请求的区别在于,执行指令的开销比较大,但是指令包含的信息比较多;而执行请求开销比较小,但是请求包含的信息比较少。
一般地,机器学习单元接收单播读操作和广播操作返回的数据时至少需要对应的两个数据接口,分别用于:接收传输电路针对单播读数据操作信号返回的单播读数据、接收传输电路针对广播和/或多播数据操作信号返回的广播和/或多播数据。而在本实施例中,参照图1所示,机器学习单元0的接收接口仅有一个,为共享数据接收接口,如接口c0,可以接收传输电路针对单播读数据操作信号返回的单播读数据,以及接收传输电路针对广播和/或多播数据操作信号返回的广播和/或多播数据。
可以理解的是,当传输电路从共享存储器中取出需要的输入神经元数据和权值数据后,如果存在缓存,可以在缓存中暂存,而后传输电路可以判断该数据的请求来源,即该数据关联的数据操作信号对应的数据返回对象(机器学习单元),并发送该数据至共享数据接收接口;单播读操作时,上述共享数据接收接口为该数据返回对象对应的一个机器学习单元的共享数据接收接口;广播操作时,上述共享数据接收接口为该数据返回对象对应的多个机器学习单元的多个共享数据接收接口)。
因此,本实施例所示的数据处理装置中,至少一个机器学习单元执行单播读操作和广播操作时共享所述机器学习单元上的一个数据接收接口,能够有效节省机器学习单元中返回的数据接口的数量,节省硬件资源,降低硬件的面积和功耗。
在此对上述机器学习单元中的发送接口进行详细说明。参照图3所示,在上述图1的基础上,所述发送接口141可以包括:单播读信号发送接口1411和广播信号发送接口1412;所述机器学习单元15通过所述单播读信号发送接口1411和所述共享数据接收接口142分别与所述传输电路12的连接,实现单播读操作;以及通过所述广播信号发送接口1412和所述共享数据接收接口142分别与所述传输电路12的连接,实现广播操作。对于MLU0而言,单播读信号发送接口对应接口a0,广播信号发送接口对应接口b0,共享数据接收接口对应接口c0,其中,接口a0可以用于向传输电路发送单播读数据操作信号,接口b0可以用于向传输电路发送广播和/或多播数据操作信号,接口c0可以用于接收传输电路针对单播读数据操作信号返回的单播读数据,以及接收传输电路针对广播和/或多播数据操作信号返回的广播和/或多播数据。因此,本实施例通过单播读信号发送接口和广播信号发送接口分别实现不同类型的数据操作信号的发送,简化了处理逻辑。
在一种实施方式中,相应于上述单播读操作和广播操作,参照图3所示,上述数据处理装置中的传输电路12可以包括:第二传输接口120、与所述第二传输接口120连接的读写处理电路121、以及与所述读写处理电路121连接的仲裁电路122;所述读写处理电路121,用于接收所述至少一个机器学习单元15通过所述发送接口141和所述第二传输接口120发送的数据操作信号,并将所述数据操作信号传输至所述仲裁电路122,以及将所述仲裁电路122从所述共享存储器13中获取到的数据通过所述第二传输接口120和所述共享数据接收接口142返回所述数据操作信号对应的机器学习单元;所述仲裁电路122,用于根据预设仲裁规则仲裁从所述读写处理电路121接收到的数据操作信号,并根据仲裁成功的数据操作信号对所述共享存储器中13的数据进行操作。
具体地,所述读写处理电路121可以处理单播读信号,也可以处理广播信号和/或多播信号。在一种实施方式中,所述读写处理电路121可以包括:单播读处理电路;所述单播读处理电路可以处理单播读信号,还可以处理广播信号和/或多播信号,其中,所述单播读处理电路处理广播信号和/或多播信号时,可以接收至少一个机器学习单元通过所述广播信号发送接口和所述第二传输接口发送的广播和/或多播信号,并将所述广播和/或多播信号传输至所述仲裁电路,以及将所述仲裁电路从所述共享存储器中获取到的数据,通过所述第二传输接口和共享数据接收接口分别按预设顺序发送至所述广播和/或多播信号对应的多个机器学习单元,上述预设顺序为向上述多个机器学习单元返回数据的顺序,可以根据各机器学习单元的优先级排列,也可以按多个机器学习单元的编号顺序,或者其它顺序。
可选地,所述读写处理电路121可以包括:单播读处理电路、广播处理电路;所述单播读处理电路用于处理单播读信号,所述广播处理电路用于处理广播信号和/或多播信号。
其中,单播读处理电路可以用于接收至少一个机器学习单元通过单播读信号发送接口和第二传输接口发送的单播读信号,并将所述单播读信号传输至所述仲裁电路,以及将所述仲裁电路从所述共享存储器中获取到的数据,通过所述第二传输接口和共享数据接收接口发送至所述单播读信号对应的机器学习单元;所述广播读处理电路可以用于接收至少一个机器学习单元通过所述广播信号发送接口和所述第二传输接口发送的广播和/或多播信号,并将所述广播和/或多播信号传输至所述仲裁电路,以及将所述仲裁电路从所述共享存储器中获取到的数据,通过所述第二传输接口和共享数据接收接口发送至所述广播和/或多播信号对应的多个机器学习单元。
其中,预设仲裁规则可以用于使仲裁电路按照一定的规则确定多个数据操作信号的优先级,从而使仲裁电路可以根据各个数据操作信号的优先级来确定需要操作的对象,即选择出高优先级的数据操作信号作为仲裁成功的数据操作信号;例如,可以将传输速率大的数据操作信号的优先级设置为高优先级,将传输速率小的数据操作信号的优先级设置为低优先级;示例性地,上述预设仲裁规则可以为轮询调度仲裁规则、最大载干调度规则、比例公平规则等。此外,仲裁电路还可以根据机器学习单元和读写处理电路之间的数据通路(接口到接口)是否空闲来作为辅助仲裁规则,即仲裁成功的数据操作信号其对应的数据通路是空闲的。
具体地,单播读处理电路可以通过第二传输接口连接多个机器学习单元,处理多个机器学习单元的单播读操作,可以将多个单播读指令缓存在单播读处理电路中的单播读指令缓存队列中,并可以对单播读指令进行解析得到相应的单播读指令,并缓存在单播读处理电路中的单播读请求缓存队列中,由仲裁电路仲裁;而对于单播读请求,可以不经过解析操作,缓存在单播读请求缓存队列中。类似的,广播处理电路也可以通过第二传输接口连接多个机器学习单元,可以包括广播和/或多播指令缓存队列和广播和/或多播请求缓存队列,这里不再赘述。在一种可选的方案中,读写处理电路可以包括一个单播读处理电路和一个广播处理电路。
因此,本实施例可以通过单播读处理电路处理单播读操作,可以通过广播处理电路处理广播操作,分别通过不同处理电路实现不同类型的数据操作的处理,简化了处理逻辑。
在一种可选的方案中,参照图3所示,在上述图1所述的数据处理装置的基础上,第二传输接口可以被细分为处理不同类型数据操作的接口,具体地,所述第二传输接口120可以包括:至少一组与所述单播读处理电路连接的单播读信号接收接口和单播读数据发送接口、至少一组与所述广播处理电路连接的广播信号接收接口和广播数据发送接口;所述单播读信号接收接口与所述机器学习单元的单播读信号发送接口连接,所述广播信号接收接口与所述机器学习单元的广播信号发送接口连接,所述传输电路中的所述单播读数据发送接口和所述广播数据发送接口分别与所述机器学习单元的共享数据接收接口连接。本实施例可以通过第二传输接口中的各个接口分别实现不同类型的数据操作的处理,简化了处理逻辑。
在一种实施方式中,参照图3所示,读写处理电路可以被划分为多个处理电路组,一个机器学习单元对应一个处理电路组,所述处理电路组至少包括一个单播读处理电路和一个广播处理电路。示例性地,MLU0对应单播读处理电路0和广播处理电路0,MLUn对应单播读处理电路n和广播处理电路n。同样地,第二传输接口中存在与一个处理电路组和一个机器学习单元分别连接的一组接口,用于实现机器学习单元和单播读处理电路的一对一连接,以及机器学习单元和广播处理电路的一对一连接。
例如,对于MLU0和单播读处理电路0而言,第二传输接口中的接口d0作为单播读信号接收接口分别连接MLU0的单播读信号发送接口a0和单播读处理电路0,可以用于接收从MLU0发送的单播读信号并传输给单播读处理电路0进行处理;第二传输接口中的接口e0作为单播读数据发送接口分别连接MLU0的共享数据接收接口c0和单播读处理电路0,可以用于接收单播读处理电路0发送的上述单播读信号对应的输入神经元数据和权值数据并传输至MLU0中的接口c0。对于MLU0和广播处理电路0而言,第二传输接口中的接口f0,作为广播信号接收接口分别连接MLU0的广播信号发送接口b0和广播处理电路0,可以用于接收从MLU0发送的广播和/或多播信号并传输给广播处理电路0进行处理;第二传输接口中的接口g0,作为广播数据发送接口分别连接多个MLU的共享数据接收接口ci和广播处理电路0,可以用于接收广播处理电路0发送的上述广播和/或多播信号对应的输入神经元数据和权值数据并传输至多个MLU中的共享数据接收接口ci。
因此,本实施例可以通过机器学习单元和单播读处理电路的一对一连接,以及机器学习单元和广播处理电路的一对一连接,实现针对性的一对一数据操作处理,降低数据操作的访问逻辑的复杂性,减少冲突、提高处理效率。
参照图4所示,在一种可选的方案中,在上述图3所述的数据处理装置的基础上,对传输电路中的接口数量进行节省,具体地,所述读写处理电路121可以包括:广播处理电路和多个单播读处理电路;所述多个单播读处理电路和所述多个机器学习单元一对一连接,所述广播处理电路和所述多个机器学习单元一对多连接。示例性地,MLU0对应单播读处理电路0和上述广播处理电路,MLUn对应单播读处理电路n和上述广播处理电路。同样地,第二传输接口中存在与一个单播读处理电路和一个机器学习单元分别连接的一组接口,用于实现机器学习单元和单播读处理电路的一对一连接;第二传输接口中还存在与一个广播处理电路和多个机器学习单元分别连接的一组接口,用于实现机器学习单元和广播处理电路的多对一连接,具体地,第二传输接口可以包括:与广播处理电路连接的一组广播接口,上述广播接口可以包括:广播信号接收接口和广播数据发送接口;所述多个机器学习单元通过所述一组广播接口与所述广播处理电路连接。
例如,对于多个MLU和上述广播处理电路而言,第二传输接口中的接口dn+1,作为广播信号接收接口,可以用于接收从多个MLU发送的广播和/或多播信号并传输给上述广播处理电路进行处理;第二传输接口中的接口en+1,作为广播数据发送接口,可以用于接收上述广播处理电路发送的上述广播和/或多播信号对应的输入神经元数据和权值数据并传输至多个MLU中的共享数据接收接口。
可见,多个机器学习单元可以共享同一广播处理电路,同时共享同一组广播信号接收接口和广播数据发送接口,因此,本实施例所示的数据处理装置在节省了机器学习单元中返回的数据接口的数量的基础上,进一步节省了传输电路中接口的数量,进一步节省硬件资源,降低硬件的面积和功耗。
参照图5所示,在一种可选的方案中,在上述图4的基础上,对传输电路中的接口数量进行进一步节省,所述第二传输接口120可以包括:与所述多个单播读处理电路一对一连接的多组单播读信号接收接口和共享数据发送接口、与所述广播处理电路连接的广播信号接收接口,所述共享数据发送接口还与所述广播处理电路连接;所述单播读信号接收接口与所述机器学习单元的单播读信号发送接口连接,所述广播信号接收接口与所述机器学习单元的广播信号发送接口连接,所述共享数据发送接口与所述机器学习单元的共享数据接收接口连接。
示例性地,对于单播读处理电路0而言,第二传输接口中包括与所述单播读处理电路0一对一连接的一组单播读信号接收接口d0和共享数据发送接口e0,且单播读信号接收接口d0与MLU0中的单播读信号发送接口a0连接,共享数据发送接口e0和MLU0中的共享数据接收接口c0连接;对于单播读处理电路n而言,第二传输接口中包括与所述单播读处理电路n一对一连接的一组单播读信号接收接口dn和共享数据发送接口en,且单播读信号接收接口dn与MLUn中的单播读信号发送接口an连接,共享数据发送接口en和MLUn中的共享数据接收接口cn连接;第二传输接口中还可以包括与广播处理电路连接的广播信号接收接口dn+1,且广播信号接收接口dn+1分别与各MLU的广播信号发送接口(对MLUi为接口bi)连接;此外,最需要说明的是,传输电路中各共享数据发送接口ei均与广播处理电路连接,可以接收广播处理电路发送的广播和/或多播信号对应的输入神经元数据和权值数据并传输至多个MLU中的共享数据接收接口ci。可见,在传输电路中,各单播读处理电路i分别和广播处理电路共享了共享数据发送接口ei,且由MLUi中的共享数据接收接口ci和传输电路中的共享数据发送接口ei构成的数据通路可以实现MLUi和传输电路之间的单播读数据、广播和/或多播数据的传输。
可见,多个单播读处理电路分别和广播处理电路共享了数据发送接口,因此,本实施例所示的数据处理装置进一步节省了传输电路中接口的数量,进一步节省硬件资源,降低硬件的面积和功耗。
参照图6所示,本申请还提供了一种组合处理装置,其包括上述数据处理装置、通用互联接口和除上述数据处理装置以外的其它处理装置;数据处理装置与其它处理装置进行交互,共同完成用户指定的计算操作。其中,其他处理装置,包括中央处理器CPU、图形处理器GPU、神经网络处理器等通用/专用处理器中的一种或以上的处理器类型。其他处理装置所包括的处理器数量不做限制。其他处理装置作为数据处理装置与外部数据和控制的接口,包括数据搬运,完成对本数据处理装置的开启、停止等基本控制;其他处理装置也可以和数据处理装置协作共同完成运算任务。通用互联接口,用于在所述数据处理装置与其他处理装置间传输数据和控制指令。该数据处理装置从其他处理装置中获取所需的输入数据,写入数据处理装置片上的共享存储器;可以从其他处理装置中获取控制指令,写入数据处理装置片上的机器学习装置;也可以读取数据处理装置的共享存储器中的数据并传输给其他处理装置。
可选的,参照图7所示,上述组合处理装置还可以包括存储装置,存储装置分别与所述数据处理装置和所述其他处理装置连接。存储装置用于保存在所述数据处理装置和所述其他处理装置的数据,尤其适用于所需要运算的数据在本数据处理装置或其他处理装置的内部存储中无法全部保存的数据。
该组合处理装置可以作为手机、机器人、无人机、视频监控设备等设备的SOC片上系统,有效降低控制部分的核心面积,提高处理速度,降低整体功耗。此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。某些部件譬如摄像头,显示器,鼠标,键盘,网卡,wifi接口。
在一个实施例中,本申请还提供了一种机器学习芯片,其包括了上述数据处理装置和/或组合处理装置。
在一个实施例中,本申请还提供了一种机器学习芯片封装结构,其包括了上述机器学习芯片。
在一个实施例中,本申请还提供了一种板卡,其包括了上述机器学习芯片。参照图8所示,上述板卡除了包括上述芯片封装结构81以外,还可以包括其他的配套部件,该配套部件包括但不限于:存储器件82、接口装置83和控制器件84;所述存储器件82与所述芯片封装结构81内的机器学习芯片811通过总线连接,用于存储数据,所述存储器件82可以包括多组存储单元821。每一组所述存储单元821与所述机器学习芯片811通过总线连接。可以理解,每一组所述存储单元821可以是DDR SDRAM(Double Data Rate SDRAM,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储装置可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述机器学习芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。在一个实施例中,每一组所述存储单元包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置83与所述芯片封装结构81内的机器学习芯片811电连接。所述接口装置83用于实现所述机器学习芯片811与外部设备(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置83可以为标准PCIE(peripheral componentinterconnect express,一种高速串行计算机扩展总线标准)接口。比如,待处理的数据由服务器通过标准PCIE接口传递至所述机器学习芯片,实现数据转移。优选的,当采用PCIE3.0X 16接口传输时,理论带宽可达到16000MB/s。在另一个实施例中,所述接口装置83还可以是其他的接口,本申请并不限制上述其他的接口的具体表现形式,所述接口装置能够实现转接功能即可。另外,所述机器学习芯片811的计算结果仍由所述接口装置83传送回外部设备(例如服务器)。
所述控制器件84与所述机器学习芯片811电连接。所述控制器件84用于对所述芯片的状态进行监控。具体的,所述机器学习芯片811与所述控制器件84可以通过SPI(SerialPeripheral Interface,串行外设接口)接口电连接。所述控制器件可以包括单片机(MicroController Unit,MCU)。如所述机器学习芯片可以包括多个数据处理装置和/或组合处理装置,可以带动多个负载。因此,所述机器学习芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制器件84可以实现对所述机器学习芯片中多个数据处理装置和/或组合处理装置的工作状态的调控。
在一些实施例里,申请了一种电子设备,其包括了上述板卡。电子设备包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
此外,本发明实施例还提供了一种数据处理方法,所述数据处理方法应用于上述的数据处理装置,所述数据处理装置可以包括:机器学习装置、传输电路以及共享存储器,所述机器学习装置包括至少一个机器学习单元,所述机器学习单元所执行的单播读操作和广播操作共享一个数据接收接口,所述机器学习单元通过发送接口和共享数据接收接口与所述传输电路连接,所述传输电路与所述共享存储器连接;所述方法可以包括:
所述机器学习装置将数据操作信号通过所述发送接口发送给所述传输电路;
所述传输电路根据所述数据操作信号,从所述共享存储器中获取所述机器学习装置所需的输入数据,并将所述输入数据通过所述共享数据接收接口返回至所述机器学习装置。
上述数据处理方法中,数据处理装置通过至少一个机器学习单元执行单播读操作和广播操作时共享所述机器学习单元上的一个数据接收接口,能够有效节省机器学习单元中返回的数据接口的数量,节省硬件资源,降低硬件的面积和功耗。
可选地,所述数据操作信号为广播信号和/或多播信号,所述将所述输入数据通过所述共享数据接收接口返回至所述机器学习装置,可以包括:
所述传输电路将所述输入数据通过所述共享数据接收接口发送给所述广播信号和/或多播信号对应的多个机器学习单元。
示例性地,本实施例的任意一个机器学习单元可以将广播信号和/或多播信号通过上述发送接口发送给传输电路,传输电路可以根据上述广播信号和/或多播信号中的目的地址从共享存储器中获取输入数据,并将上述输入数据通过共享数据接收接口发送给上述广播信号和/或多播信号的标记域对应的多个机器学习单元。也就是说,本实施例的数据处理方法可以由机器学习单元发起进行广播和/或多播操作,将从共享存储器中获取的输入数据广播和/或多播给多个机器学习单元,以便于机器学习计算过程中的数据访问和数据共用,简化数据访问逻辑,提高数据访问效率。
关于数据处理方法的具体限定可以参见上文中对于数据处理装置的描述,在此不再赘述。
本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的全部或部分处理过程是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:RandomAccess Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种数据处理装置,其特征在于,所述数据处理装置包括:机器学习装置、传输电路以及共享存储器,所述机器学习装置包括至少一个机器学习单元,所述机器学习单元所执行的单播读操作和广播操作共享一个数据接收接口,所述机器学习单元通过发送接口和共享数据接收接口与所述传输电路连接,所述传输电路与所述共享存储器连接;
所述传输电路,用于根据所述机器学习装置通过所述发送接口发出的数据操作信号,从所述共享存储器中获取所述机器学习装置所需的输入数据,并将所述输入数据通过所述共享数据接收接口返回至所述机器学习装置。
2.根据权利要求1所述的数据处理装置,其特征在于,所述机器学习装置用于根据所述输入数据,执行机器学习运算,得到输出数据。
3.根据权利要求2所述的数据处理装置,其特征在于,所述机器学习装置还用于将所述输出数据通过所述传输电路传输至所述共享存储器进行数据存储。
4.根据权利要求1所述的数据处理装置,其特征在于,所述发送接口包括:单播读信号发送接口和广播信号发送接口;所述机器学习单元通过所述单播读信号发送接口和所述共享数据接收接口分别与所述传输电路的连接,实现单播读操作;以及通过所述广播信号发送接口和所述共享数据接收接口分别与所述传输电路的连接,实现广播操作。
5.根据权利要求4所述的数据处理装置,其特征在于,所述传输电路包括:第二传输接口、与所述第二传输接口连接的读写处理电路、以及与所述读写处理电路连接的仲裁电路;
所述读写处理电路,用于接收所述至少一个机器学习单元通过所述发送接口和所述第二传输接口发送的数据操作信号,并将所述数据操作信号传输至所述仲裁电路,以及将所述仲裁电路从所述共享存储器中获取到的数据通过所述第二传输接口和所述共享数据接收接口返回所述数据操作信号对应的机器学习单元;
所述仲裁电路,用于根据预设仲裁规则仲裁从所述读写处理电路接收到的数据操作信号,并根据仲裁成功的数据操作信号对所述共享存储器中的数据进行操作。
6.根据权利要求5中所述的数据处理装置,其特征在于,所述读写处理电路包括:单播读处理电路、广播处理电路;所述单播读处理电路用于处理单播读信号,所述广播处理电路用于处理广播信号和/或多播信号。
7.根据权利要求6中所述的数据处理装置,其特征在于,所述第二传输接口包括:至少一组与所述单播读处理电路连接的单播读信号接收接口和单播读数据发送接口、至少一组与所述广播处理电路连接的广播信号接收接口和广播数据发送接口;所述单播读信号接收接口与所述机器学习单元的单播读信号发送接口连接,所述广播信号接收接口与所述机器学习单元的广播信号发送接口连接,所述传输电路中的所述单播读数据发送接口和所述广播数据发送接口分别与所述机器学习单元的共享数据接收接口连接。
8.根据权利要求6所述的数据处理装置,其特征在于,所述读写处理电路包括:广播处理电路和多个单播读处理电路;所述多个单播读处理电路和所述多个机器学习单元一对一连接,所述广播处理电路和所述多个机器学习单元一对多连接。
9.根据权利要求8所述的数据处理装置,其特征在于,所述第二传输接口包括:与所述广播处理电路连接的一组广播接口,所述广播接口包括:广播信号接收接口和广播数据发送接口;所述多个机器学习单元通过所述一组广播接口与所述广播处理电路连接。
10.根据权利要求8所述的数据处理装置,其特征在于,所述第二传输接口包括:与所述多个单播读处理电路一对一连接的多组单播读信号接收接口和共享数据发送接口、与所述广播处理电路连接的广播信号接收接口,所述共享数据发送接口还与所述广播处理电路连接;所述单播读信号接收接口与所述机器学习单元的单播读信号发送接口连接,所述广播信号接收接口与所述机器学习单元的广播信号发送接口连接,所述共享数据发送接口与所述机器学习单元的共享数据接收接口连接。
11.根据权利要求1所述的数据处理装置,其特征在于,所述机器学习单元包括:至少一个运算单元、以及与所述运算单元连接的控制器单元;所述运算单元包括一个主处理电路和多个从处理电路,所述运算单元通过所述发送接口和共享数据接收接口与所述传输电路连接;
所述控制器单元,用于通过所述发送接口向所述传输电路发送所述数据操作信号和输出数据,并通过所述共享数据接收接口接收所述传输电路从所述共享存储器获取的所述输入数据,并将所述输入数据发送给所述主处理电路和/或所述从处理电路;
所述主处理电路,用于将所述输入数据分发至所述多个从处理电路;
所述多个从处理电路,用于依据所述输入数据并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路,还用于对所述多个中间结果执行后续处理得到计算结果。
12.根据权利要求1-11中任一项所述的数据处理装置,其特征在于,所述输入数据包括输入神经元数据和/或权值数据,输出数据包括输出神经元数据。
13.一种组合处理装置,其特征在于,所述组合处理装置包括如权利要求1-12中任一项所述的数据处理装置、通用互联接口和除所述数据处理装置以外的其它处理装置;所述数据处理装置与所述其它处理装置进行交互。
14.一种机器学习芯片,其特征在于,所述机器学习芯片包括如权利要求13所述的组合处理装置和/或如权利要求1-12中任一项所述的数据处理装置。
15.一种板卡,其特征在于,所述板卡包括如权利要求14所述的机器学习芯片。
16.一种电子设备,其特征在于,所述电子设备包括如权利要求15所述的板卡。
17.一种数据处理方法,其特征在于,所述数据处理方法应用于数据处理装置,所述数据处理装置包括:机器学习装置、传输电路以及共享存储器,所述机器学习装置包括至少一个机器学习单元,所述机器学习单元所执行的单播读操作和广播操作共享一个数据接收接口,所述机器学习单元通过发送接口和共享数据接收接口与所述传输电路连接,所述传输电路与所述共享存储器连接;所述方法包括:
所述机器学习装置将数据操作信号通过所述发送接口发送给所述传输电路;
所述传输电路根据所述数据操作信号,从所述共享存储器中获取所述机器学习装置所需的输入数据,并将所述输入数据通过所述共享数据接收接口返回至所述机器学习装置。
18.根据权利要求17所述的数据处理方法,其特征在于,所述数据操作信号为广播信号和/或多播信号,所述将所述输入数据通过所述共享数据接收接口返回至所述机器学习装置,包括:
所述传输电路将所述输入数据通过所述共享数据接收接口发送给所述广播信号和/或多播信号对应的多个机器学习单元。
CN201811393352.2A 2018-10-18 2018-11-21 数据处理装置、方法及相关产品 Active CN111209245B (zh)

Priority Applications (24)

Application Number Priority Date Filing Date Title
CN201811393352.2A CN111209245B (zh) 2018-11-21 2018-11-21 数据处理装置、方法及相关产品
KR1020207033053A KR20200139829A (ko) 2018-10-18 2019-10-18 네트워크 온칩 데이터 처리 방법 및 장치
EP21217809.9A EP4009183A1 (en) 2018-10-18 2019-10-18 Network-on-chip data processing method and device
PCT/CN2019/111977 WO2020078470A1 (zh) 2018-10-18 2019-10-18 片上网络数据处理方法及装置
JP2020569113A JP7060720B2 (ja) 2018-10-18 2019-10-18 ネットワークオンチップによるデータ処理方法及び装置
EP21217804.0A EP4009186A1 (en) 2018-10-18 2019-10-18 Network-on-chip data processing method and device
EP19873122.6A EP3869352A4 (en) 2018-10-18 2019-10-18 NETWORK-ON-CHIP DATA PROCESSING METHOD AND APPARATUS
EP21217811.5A EP4009184A1 (en) 2018-10-18 2019-10-18 Network-on-chip data processing method and device
US17/278,812 US20220035762A1 (en) 2018-10-18 2019-10-18 Network-on-chip data processing method and device
EP21217802.4A EP4009185A1 (en) 2018-10-18 2019-10-18 Network-on-chip data processing method and device
JP2020206272A JP7053775B2 (ja) 2018-10-18 2020-12-11 ネットワークオンチップによるデータ処理方法及び装置
JP2020206293A JP7074832B2 (ja) 2018-10-18 2020-12-11 ネットワークオンチップによるデータ処理方法及び装置
JP2020206281A JP7074831B2 (ja) 2018-10-18 2020-12-11 ネットワークオンチップによるデータ処理方法及び装置
JP2020206306A JP7074833B2 (ja) 2018-10-18 2020-12-11 ネットワークオンチップによるデータ処理方法及び装置
US17/564,431 US11880329B2 (en) 2018-10-18 2021-12-29 Arbitration based machine learning data processor
US17/564,411 US11809360B2 (en) 2018-10-18 2021-12-29 Network-on-chip data processing method and device
US17/564,389 US11841816B2 (en) 2018-10-18 2021-12-29 Network-on-chip data processing method and device
US17/564,529 US11868299B2 (en) 2018-10-18 2021-12-29 Network-on-chip data processing method and device
US17/564,560 US20220121603A1 (en) 2018-10-18 2021-12-29 Network-on-chip data processing method and device
US17/564,398 US11880328B2 (en) 2018-10-18 2021-12-29 Network-on-chip data processing method and device
US17/564,579 US11960431B2 (en) 2018-10-18 2021-12-29 Network-on-chip data processing method and device
US17/564,366 US11971836B2 (en) 2018-10-18 2021-12-29 Network-on-chip data processing method and device
US17/564,492 US11880330B2 (en) 2018-10-18 2021-12-29 Network-on-chip data processing method and device
US17/564,509 US11797467B2 (en) 2018-10-18 2021-12-29 Data processing device with transmission circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811393352.2A CN111209245B (zh) 2018-11-21 2018-11-21 数据处理装置、方法及相关产品

Publications (2)

Publication Number Publication Date
CN111209245A CN111209245A (zh) 2020-05-29
CN111209245B true CN111209245B (zh) 2021-11-16

Family

ID=70788164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811393352.2A Active CN111209245B (zh) 2018-10-18 2018-11-21 数据处理装置、方法及相关产品

Country Status (1)

Country Link
CN (1) CN111209245B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7969959B2 (en) * 2004-12-16 2011-06-28 Critical Response Systems, Inc. Method and apparatus for efficient and deterministic group alerting
JP2008250856A (ja) * 2007-03-30 2008-10-16 Sony Corp 学習装置、学習方法、及びプログラム
WO2013095355A1 (en) * 2011-12-20 2013-06-27 Intel Corporation Multicast service using unicast subframe
US8892480B2 (en) * 2012-07-25 2014-11-18 Aro, Inc. Contextual information provider
US9436917B2 (en) * 2013-02-05 2016-09-06 Cisco Technology, Inc. Accelerating learning by sharing information between multiple learning machines
CN106940815B (zh) * 2017-02-13 2020-07-28 西安交通大学 一种可编程卷积神经网络协处理器ip核
CN107578014B (zh) * 2017-09-06 2020-11-03 上海寒武纪信息科技有限公司 信息处理装置及方法
CN107608715B (zh) * 2017-07-20 2020-07-03 上海寒武纪信息科技有限公司 用于执行人工神经网络正向运算的装置及方法

Also Published As

Publication number Publication date
CN111209245A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
US11797467B2 (en) Data processing device with transmission circuit
CN110968532B (zh) 数据传输方法及相关产品
CN111209244B (zh) 数据处理装置及相关产品
KR102539571B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
KR102539572B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN111767995B (zh) 运算方法、装置及相关产品
CN109726800B (zh) 运算方法、装置及相关产品
CN109711540B (zh) 一种计算装置及板卡
CN111209230B (zh) 数据处理装置、方法及相关产品
CN111381882B (zh) 数据处理装置及相关产品
CN111209245B (zh) 数据处理装置、方法及相关产品
CN111368967A (zh) 一种神经网络计算装置和方法
KR102539574B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
KR102539573B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN111210011B (zh) 数据处理装置及相关产品
CN112948001A (zh) 设定张量硬件配置的方法、可读存储介质及装置
WO2020063940A1 (zh) 计算装置及相关产品
CN111045729A (zh) 运算方法、装置及相关产品
CN111047027A (zh) 运算方法、装置及相关产品
CN111222633A (zh) 运算方法、装置及相关产品
CN112394990A (zh) 浮点转半精度浮点指令处理装置、方法及相关产品
CN111047028A (zh) 运算方法、装置及相关产品
CN112394903A (zh) 短整形转半精度浮点指令处理装置、方法及相关产品
CN112394993A (zh) 半精度浮点转短整形指令处理装置、方法及相关产品
CN112394986A (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