CN114661356A - 分组运算装置、方法、集成电路芯片、计算装置和板卡 - Google Patents

分组运算装置、方法、集成电路芯片、计算装置和板卡 Download PDF

Info

Publication number
CN114661356A
CN114661356A CN202011535040.8A CN202011535040A CN114661356A CN 114661356 A CN114661356 A CN 114661356A CN 202011535040 A CN202011535040 A CN 202011535040A CN 114661356 A CN114661356 A CN 114661356A
Authority
CN
China
Prior art keywords
data
input data
processing unit
processing units
mode
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.)
Pending
Application number
CN202011535040.8A
Other languages
English (en)
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
Original Assignee
Cambricon Technologies Corp 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 Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN202011535040.8A priority Critical patent/CN114661356A/zh
Publication of CN114661356A publication Critical patent/CN114661356A/zh
Pending legal-status Critical Current

Links

Images

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本公开涉及一种分组运算装置、方法、集成电路芯片、计算装置和板卡,其中计算装置可以包括在组合处理装置中,该组合处理装置还可以包括通用互联接口和其他处理装置。所述计算装置与其他处理装置进行交互,共同完成用户指定的计算操作。组合处理装置还可以包括存储装置,该存储装置分别与计算装置和其他处理装置连接,用于计算装置和其他处理装置的数据。本公开的方案可以广泛应用于加速分组运算中。

Description

分组运算装置、方法、集成电路芯片、计算装置和板卡
技术领域
本公开一般地涉及并行计算领域。更具体地,本公开涉及分组运算装置、方法、集成电路芯片、计算装置和板卡。
背景技术
已知在并行计算的技术中,以分形结构组织的运算器阵列及其所完成的计算任务被称为分形计算。目前许多处理器的架构都采用分形计算的形式实现,因为它们都是将简单的基本运算单元以特定方式组织起来,最终达到并行计算的效果。然而,这种分形计算仍然不能满足需求。因此如何获得一种能够对运算进行进一步加速的装置成为现有技术中需要解决的问题。
发明内容
为了至少部分地解决背景技术中提到的技术问题,本公开的方案提供了一种分组运算装置及其方法、包括该分组运算装置的集成电路芯片、计算装置和板卡。
在一个方面中,本公开提供一种分组运算装置,其中,所述分组运算装置包括第一处理单元和多个第二处理单元,所述第一处理单元用于根据输入数据的数据分发模式,将所述输入数据分发到所述多个第二处理单元中的至少一个,所述多个第二处理单元中的至少一个对各自接收到的所述输入数据和各自存储的本地数据进行分组运算。
在另一方面中,本公开提供一种分组运算方法,其中,所述分组运算方法包括:利用分组运算装置的第一处理单元根据输入数据的数据分发模式将所述输入数据分发到所述分组运算装置的多个第二处理单元中的至少一个,利用所述多个第二处理单元中的至少一个对各自接收到的所述输入数据和各自存储的本地数据进行分组运算。
在又一方面中,本公开提供一种集成电路芯片,其包括所述分组运算装置。在另一个实施例中,本公开的分组运算装置可以构成一个独立的集成电路芯片。
在又一方面中,本公开提供一种计算装置,其包括上述分组运算装置或上述集成电路芯片。
在又一方面中,本公开提供一种板卡,其包括上述计算装置。
利用本公开的分组运算装置、相应的运算方法、集成电路芯片、计算装置和板卡,可以通过数据分发模式控制输入数据的分发,从而更好地实现快速分组运算。由此,本公开的分组运算装置适用灵活,可以广泛应用于各种加速运算。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,并且相同或对应的标号表示相同或对应的部分其中:
图1是示出根据本公开的一个实施例的分组运算装置的示意性框图;
图2是示出根据本公开的另一个实施例的分组运算装置的示意性框图;
图3是示出根据本公开的又一个实施例的分组运算装置的示意性框图;
图4是示出根据本公开的一个实施例的分组运算方法的流程图;
图5是示出根据本公开的另一个实施例的分组运算方法的流程图;
图6是示出根据本公开实施例的一种组合处理装置的结构图;以及
图7是示出根据本公开实施例的一种板卡的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开的技术方案在整体上提供一种分组运算装置、方法、集成电路芯片、计算装置和板卡。不同于现有技术的分组运算装置,本公开提供了一种可以控制输入数据的分发以更好地实现快速分组运算的分组运算装置,从而提高了运算速度。特别地,本公开可以根据不同的数据分发模式进行不同的分组运算。由此,本公开的分组运算装置具有运算速度快且灵活性高的特点。
图1是示出根据本公开的一个实施例的分组运算装置100的示意性框图。如图1中所示,所述分组运算装置100可以包括第一处理单元101和多个第二处理单元102。第一处理单元101可以用于根据输入数据的数据分发模式,将所述输入数据分发到所述多个第二处理单元中的至少一个。多个第二处理单元102中的至少一个可以对各自接收到的所述输入数据和各自存储的本地数据进行分组运算。
根据该实施例,第一处理单元101可以根据不同的数据分发模式,将输入数据发送给不同数量的指定的第二处理单元102。而接收到同一输入数据的多个第二处理单元102可以共享该输入数据,并且对自身存储的本地数据和该输入数据进行运算。另外,上述共享输入数据的第二处理单元102可以作为一组,但该一组第二处理单元102所调用的与该输入数据共同参与运算的本地数据可以相同或不同。
根据本公开的实施例,所述数据分发模式可以根据存储本地数据的所述多个第二处理单元102的分组信息来确定,并且所述数据分发模式可以包括广播模式、多播模式和单播模式。
在该实施例中,对于数据分发模式,可以根据存储本地数据的多个第二处理单元102的分组来确定。而多个第二处理单元102的分组可以根据预先设定的分组运算所需输入数据和本地数据来确定的,从而第二处理单元102的分组可以发生变化。因此,数据分发模式可以根据第二处理单元102分组的变化来调整并且可以包括广播模式、多播模式和单播模式。
下面以三个示例对上述三种数据分发模式进行详细说明。
根据第一个示例,在所述输入数据的数据分发模式为所述广播模式时,所述第一处理单元101可以将所述输入数据发送给所述多个第二处理单元中的每个。
在该示例中,广播模式对应的分组信息可以是全部第二处理单元102作为一组来接收输入数据,因此第一处理单元101可以将输入数据发送给所有第二处理单元102。
根据第二个示例,在所述输入数据的数据分发模式为所述多播模式时,所述第一处理单元101可以将所述输入数据发送给所述多播模式指示的所述多个第二处理单元中的一部分第二处理单元。
在该示例中,多播模式对应的分组信息是至少两个第二处理单元102且非全部第二处理单元102作为一组来接收输入数据,因此第一处理单元101可以将输入数据发送给该一组第二处理单元102。此外,例如当前输入数据发送给一组第二处理单元102时,而下一个输入数据可以发给该一组第二处理单元102或另一组第二处理单元102。
根据第三个示例,在所述输入数据的数据分发模式为所述单播模式时,所述第一处理单元101可以将所述输入数据发送给所述多播模式指示的所述多个第二处理单元中的一个。
在该示例中,单播模式对应的分组信息是一个第二处理单元102作为一组来接收输入数据,因此第一处理单元101可以将输入数据发送给该一个第二处理单元102。此外,例如当前输入数据发送给一个第二处理单元102时,而下一个输入数据可以发给该一个第二处理单元102或另一个第二处理单元102。
根据本公开的实施例,所述第一处理单元101可以包括寻址模块。所述寻址模块可以用于根据所述数据分发模式指示的所述第二处理单元102的地址寻址到待接收所述输入数据的第二处理单元102。
在该实施例中,为了第一处理单元101能够找到需要接收输入数据的第二处理单元102,第一处理单元101可以包括寻址模块,并且数据分发模式可以指示待接收输入数据的第二处理单元102的地址。因此,寻址模块可以根据输入数据的数据分发模式寻址到待接收该输入数据的第二处理单元102。
根据本公开的实施例,所述第一处理单元101还可以用于将所述多个第二处理单元102获得的运算结果拼接在一起,获得拼接后的运算结果。
在该实施例中,当多个第二处理单元102进行分组运算时,多个第二处理单元102在运算完成后分别获得运算结果。为了提高数据传输效率,第一处理单元101可以通过指令控制多个第二处理单元102的运算结果拼接在一起,并通过输出通路返回给第一处理单元101。为此,可以设置输入数据的输入通路的位宽小于拼接结果的输出通路的位宽,如此可以根据输出通路的位宽来对相应数量的运算结果进行拼接,并返回第一处理单元101。
应当理解,在以上操作中,第一处理单元101和第二处理单元102之间存在数据和指令的传输。所述第一处理单元101可以将指令并行传输给所述多个第二处理单元102,并且将数据串行传输给所述多个第二处理单元102;或者所述第一处理单元101可以将数据并行传输给所述多个第二处理单元102,并且将指令串行传输给所述多个第二处理单元102。
在该实施例中,通过在第一处理单元101和多个第二处理单元102之间,将数据和指令的传输方式设置为指令串行且数据并行,或者指令并行且数据串行,可以有效的避免该运算装置的瞬时功耗过大的问题。
在其他实施例中,所述第一处理单元101可以将指令和数据均串行地传输给所述多个第二处理单元102,从而可以使得多个第二处理单元102依次启动,进而可以有效的避免该运算装置的瞬时功耗过大的问题。该实施例中相对于上述的串行和并行结合的方式,瞬时功耗的增长会更加缓慢。
上述串行指的是数据或指令可以由第一处理单元101传输给一个第二处理单元102,并从该一个第二处理单元102开始在多个第二处理单元102之间按序传递。例如一个第二处理单元102接受到第一处理单元101发送的指令或数据后,将指令或数据复制一份使用,而指令或数据可以继续传输给下一个第二处理单元102。而上述并行指的是数据或指令可以由第一处理单元101并行传输给多个第二处理单元102。
此外,为了更好地实现第一处理单元101和第二处理单元102之间的指令和数据传输,并且为了更好地完成数据运算,第一处理单元101和多个第二处理单元102可以被布置为H型结构、树状结构或阵列机结构。
根据本公开的实施例,所述输入数据可以是神经元或者权值;当所述输入数据是神经元时,所述本地数据是权值;当所述输入数据是权值时,所述本地数据是神经元。
在该实施例中,在本公开的分组运算装置例如执行神经网络相关运算时,分组运算可以是针对卷积的分组运算。在此情况下,参与运算的数据可以是神经元和权值。因此,当输入数据是神经元时,本地数据可以是权值;当输入数据是权值时,本地数据可以是神经元。
参照图2,图2是示出根据本公开的另一个实施例的分组运算装置200的示意性框图。图2中所示的分组运算装置200与图1中所示的分组运算装置100的区别仅在于,所述分组运算装置200还可以包括数据控制单元201。所述数据控制单元201可以用于获取所述数据分发模式并向所述第一处理单元101分笔传输所述输入数据,并且为每笔输入数据配置所述数据分发模式。
在该实施例中,数据控制单元201可以通过解析外部指令来获得数据分发模式。并且数据控制单元201可以直接接收分笔输入的输入数据并向第一处理单元101分笔传输输入数据。或者数据控制单元201还可以通过解析外部指令来获得数据切分信息,并根据该数据切分信息将接收的数据进行切分而形成多笔输入数据,以向第一处理单元101分笔传输输入数据。并且,数据控制单元201可以先为每笔输入数据配置上述数据分发模式,然后将配置有数据分发模式的每笔输入数据传输给第一处理单元101。
因此,通过单个外部指令,可以实现单笔输入数据的各种数据分发模式,即可以实现任意数量的第二处理单元102共享该单笔输入数据来参与分组运算。
进一步地,参照图3,图3是示出根据本公开的又一个实施例的分组运算装置300的示意性框图。图3中所示的分组运算装置300与图2中所示的分组运算装置200的区别仅在于,所述数据控制单元201包括控制器单元2011和输入输出单元2012。所述控制器单元2011用于获取所述数据分发模式,并向所述输入输出单元2012发送所述数据分发模式;所述输入输出单元2012用于向所述第一处理单元101分笔传输所述输入数据,并为每笔输入数据配置所述数据分发模式。
在一个实施例中,控制器单元2011可以通过解析外部指令来获得输入数据的数据分发模式,并且将数据分发模式发送给输入输出单元2012。输入输出单元2012可以直接接收分笔输入的输入数据(例如从DMA单元(直接存储器存取单元,未示出)或其它装置获得的分笔输入数据),并向第一处理单元101分笔传输输入数据。此外,输入输出单元2012可以先为每笔输入数据配置上述数据分发模式,然后将配置有数据分发模式的每笔输入数据传输给第一处理单元101。
在另一个实施例中,控制器单元2011可以通过解析外部指令来获得输入数据的数据分发模式和数据切分信息,并且将数据分发模式和数据切分信息发送给输入输出单元2012。输入输出单元2012可以根据该数据切分信息将接收的数据(例如从DMA单元(直接存储器存取单元,未示出)或其它装置获得的数据)进行切分而形成多笔输入数据,以向第一处理单元101分笔传输输入数据。并且,输入输出单元2012可以先为每笔输入数据配置上述数据分发模式,然后将配置有数据分发模式的每笔输入数据传输给第一处理单元101。
在当前一笔输入数据的数据分发模式为广播模式时,待接收当前一笔输入数据的第二处理单元102是所有第二处理单元102,第一处理单元101可以例如利用寻址模块将当前一笔输入数据发送给所有第二处理单元102。在当前一笔输入数据的数据分发模式为多播模式时,待接收当前一笔输入数据的第二处理单元102是由至少两个且非全部第二处理单元102构成的一组第二处理单元102,第一处理单元101可以例如利用寻址模块将当前一笔输入数据发送给该一组第二处理单元102。此外,例如当前一笔输入数据发送给一组第二处理单元102时,而下一笔输入数据可以发给该一组第二处理单元102或另一组第二处理单元102。在当前一笔输入数据的数据分发模式为单播模式时,待接收当前一笔输入数据的第二处理单元102是一个第二处理单元102,第一处理单元101可以例如利用寻址模块将当前一笔输入数据发送给该一个第二处理单元102。此外,例如当前一笔输入数据发送给一个第二处理单元102时,而下一笔输入数据可以发给该一个第二处理单元102或另一个第二处理单元102。
此外,当多个第二处理单元102进行分组运算时,多个第二处理单元102在运算完成后分别获得运算结果。第一处理单元101可以通过指令将多个第二处理单元102的运算结果拼接在一起,并返回给第一处理单元101。而第一处理单元101可以根据需要将拼接的结果利用输出通路通过输入输出单元2012输出到其它任何需要该结果的装置或存储单元(例如DMA单元);或者第一处理单元101可以先将拼接的结果拆分回多个原运算结果,然后将多个原运算结果根据需要利用输出通路通过输入输出单元2012输出到其它任何需要该结果的装置或存储单元(例如DMA单元);又或者第一处理单元101可以先将拼接的结果拆分回多个原运算结果,然后对多个原运算结果进行融合计算,以获得希望获得的中间结果或最终结果,并将该中间结果或最终结果利用输出通路通过输入输出单元2012输出到其它任何需要该结果的装置或存储单元(例如DMA单元)。
本公开还提供一种分组运算方法。参照图4,图4是示出根据本公开的一个实施例的分组运算方法的流程图。如图4中所示,可以理解的是,此处分组运算方法所使用的分组运算装置即前面结合图1-图3详细描述的分组运算装置,因此在前关于该分组运算装置及其内部组成、功能和操作的描述也同样适用于此处的描述。
本公开的分组运算方法包括以下步骤S101-S102。
在步骤S101中,利用分组运算装置的第一处理单元根据输入数据的数据分发模式将所述输入数据分发到所述分组运算装置的多个第二处理单元中的至少一个。
在步骤S102中,利用所述多个第二处理单元中的至少一个对各自接收到的所述输入数据和各自存储的本地数据进行分组运算。
根据本公开的实施例,可以根据存储本地数据的多个第二处理单元的分组信息来确定数据分发模式,并且所述数据分发模式可以包括广播模式、多播模式和单播模式。
下面以三个示例对上述三种数据分发模式进行详细说明。
在所述输入数据的数据分发模式为所述广播模式时,可以利用第一处理单元将输入数据发送给多个第二处理单元中的每个。
在所述输入数据的数据分发模式为所述多播模式时,可以利用第一处理单元将输入数据发送给所述多播模式指示的多个第二处理单元中的一部分第二处理单元。
在所述输入数据的数据分发模式为所述单播模式时,可以利用第一处理单元将输入数据发送给所述多播模式指示的所述多个第二处理单元中的一个。
根据本公开的实施例,可以利用第一处理单元所包括的寻址模块,根据数据分发模式指示的第二处理单元的地址寻址到待接收输入数据的第二处理单元。
根据本公开的实施例,还可以利用第一处理单元将多个第二处理单元获得的运算结果拼接在一起,获得拼接后的运算结果。
根据本公开的实施例,可以利用第一处理单元将指令并行传输给多个第二处理单元,并且将数据串行传输给多个第二处理单元;或者利用第一处理单元将数据并行传输给多个第二处理单元,并且将指令串行传输给多个第二处理单元。
根据本公开的实施例,可以将第一处理单元和多个第二处理单元布置为H型结构、树状结构或阵列机结构。
根据本公开的实施例,输入数据可以是神经元或者权值;当输入数据是神经元时,本地数据是权值;当输入数据是权值时,本地数据是神经元。
参照图5,图5是示出根据本公开的另一个实施例的分组运算方法的流程图。如图5中所示,所述分组运算方法在步骤S101之前还可以包括步骤S201。在该步骤S201中,利用分组运算装置的数据控制单元,获取数据分发模式并向分组运算装置的第一处理单元分笔传输输入数据,并且为每笔输入数据配置数据分发模式。
根据本公开的实施例,可以利用数据控制单元所包括的控制器单元获取数据分发模式,并向数据控制单元所包括的输入输出单元发送数据分发模式;并且利用输入输出单元向第一处理单元分笔传输输入数据,并为每笔输入数据配置数据分发模式。
结合以上根据图4所述的内容可知,在当前一笔输入数据的数据分发模式为广播模式时,待接收当前一笔输入数据的第二处理单元是所有第二处理单元,可以利用第一处理单元的例如寻址模块将当前一笔输入数据发送给所有第二处理单元。在当前一笔输入数据的数据分发模式为多播模式时,待接收当前一笔输入数据的第二处理单元是由至少两个且非全部第二处理单元构成的一组第二处理单元,可以利用第一处理单元的例如寻址模块将当前一笔输入数据发送给该一组第二处理单元。在当前一笔输入数据的数据分发模式为单播模式时,待接收当前一笔输入数据的第二处理单元是一个第二处理单元,可以利用第一处理单元的例如寻址模块将当前一笔输入数据发送给该一个第二处理单元。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
图6是示出根据本公开实施例的一种组合处理装置600的结构图。如图所示,该组合处理装置600包括计算装置602,该计算装置可以包括如前结合附图描述的本公开的分组运算装置。另外,该组合处理装置还包括通用互联接口604和其他处理装置606。根据本公开的计算装置与其他处理装置进行交互,共同完成用户指定的操作。
根据本公开的方案,该其他处理装置可以包括中央处理器(“CPU”)、图形处理器(“GPU”)、神经网络处理器等通用和/或专用处理器中的一种或多种类型的处理器,其数目不做限制而是依实际需要来确定。在一个或多个实施例中,该其他处理装置可以作为本公开的计算装置(其可以具体化为机器学习运算装置)与外部数据和控制的接口,执行包括但不限于数据搬运,完成对本机器学习运算装置的开启、停止等的基本控制;其他处理装置也可以和机器学习运算装置协作共同完成运算任务。
根据本公开的方案,该通用互联接口可以用于在计算装置与其他处理装置间传输数据和控制指令。例如,该计算装置可以经由所述通用互联接口从其他处理装置中获取所需的输入数据,写入该计算装置片上的存储装置。进一步,该计算装置可以经由所述通用互联接口从其他处理装置中获取控制指令,写入计算装置片上的控制缓存。替代地或可选地,通用互联接口也可以读取计算装置的存储模块中的数据并传输给其他处理装置。
可选地,该组合处理装置还可以包括存储装置608,其可以分别与所述计算装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算装置和所述其他处理装置的数据,尤其适用于所需要运算的数据在本计算装置或其他处理装置的内部存储中无法全部保存的数据。
根据应用场景的不同,本公开的组合处理装置可以作为手机、机器人、无人机、视频采集、视频监控设备等设备的SOC片上系统,从而有效地降低控制部分的核心面积,提高处理速度并降低整体的功耗。在此情况时,该组合处理装置的通用互联接口与设备的某些部件相连接。此处的某些部件可以例如是摄像头,显示器,鼠标,键盘,网卡或wifi接口。
在一些实施例里,本公开还公开了一种芯片或集成电路芯片,其包括了上述计算装置、组合处理装置以及本公开的分组运算装置。在另一些实施例里,本公开还公开了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,本公开还公开了一种板卡,其包括了上述芯片封装结构。参阅图7,其提供了前述的示例性板卡700,上述板卡除了包括上述芯片702以外,还可以包括其他的配套部件,该配套部件可以包括但不限于:存储器件704、接口装置706和控制器件708。
所述存储器件与所述芯片封装结构内的芯片通过总线连接,用于存储数据。所述存储器件可以包括多组存储单元710。每一组所述存储单元与所述芯片通过总线连接。可以理解,每一组所述存储单元可以是DDR SDRAM(“Double Data Rate SDRAM”,双倍速率同步动态随机存储器)。
DDR不需要提高时钟频率就能加倍提高SDRAM的速度。DDR允许在时钟脉冲的上升沿和下降沿读出数据。DDR的速度是标准SDRAM的两倍。在一个实施例中,所述存储器件可以包括4组所述存储单元。每一组所述存储单元可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中64bit用于传输数据,8bit用于ECC校验。
在一个实施例中,每一组所述存储单元可以包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在所述芯片中设置控制DDR的控制器,用于对每个所述存储单元的数据传输与数据存储的控制。
所述接口装置与所述芯片封装结构内的芯片电连接。所述接口装置用于实现所述芯片与外部设备712(例如服务器或计算机)之间的数据传输。例如在一个实施例中,所述接口装置可以为标准PCIE接口。例如,待处理的数据由服务器通过标准PCIE接口传递至所述芯片,实现数据转移。在另一个实施例中,所述接口装置还可以是其他的接口,本公开并不限制上述其他的接口的具体表现形式,所述接口单元能够实现转接功能即可。另外,所述芯片的计算结果仍由所述接口装置传送回外部设备(例如服务器)。
所述控制器件与所述芯片电连接,以便对所述芯片的状态进行监控。具体地,所述芯片与所述控制器件可以通过SPI接口电连接。所述控制器件可以包括单片机(“MCU”,Micro Controller Unit)。所述芯片可以包括多个处理芯片、多个处理核或多个处理电路,并且可以带动多个负载。由此,所述芯片可以处于多负载和轻负载等不同的工作状态。通过所述控制装置可以实现对所述芯片中多个处理芯片、多个处理和/或多个处理电路的工作状态的调控。
在一些实施例里,本公开还公开了一种电子设备或装置,其包括了上述板卡。根据不同的应用场景,电子设备或装置可以包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所公开的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述电路的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个电路或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或电路的间接耦合或通信连接,可以是电性、光学、声学、磁性或其它的形式。
所述作为分离部件说明的电路可以是或者也可以不是物理上分开的,作为电路显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能电路可以集成在一个处理单元中,也可以是各个电路单独物理存在,也可以两个或两个以上电路集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,当本公开的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(“ROM”,Read-OnlyMemory)、随机存取存储器(“RAM”,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
依据以下条款可更好地理解前述内容:
条款A1,一种分组运算装置,其中,所述分组运算装置包括第一处理单元和多个第二处理单元,所述第一处理单元用于根据输入数据的数据分发模式,将所述输入数据分发到所述多个第二处理单元中的至少一个,所述多个第二处理单元中的至少一个对各自接收到的所述输入数据和各自存储的本地数据进行分组运算。
条款A2,根据条款A1所述的分组运算装置,其中,所述分组运算装置还包括:数据控制单元,其用于获取所述数据分发模式并向所述第一处理单元分笔传输所述输入数据,并且为每笔输入数据配置所述数据分发模式。
条款A3,根据条款A2所述的分组运算装置,其中,所述数据控制单元包括控制器单元和输入输出单元;所述控制器单元用于获取所述数据分发模式,并向所述输入输出单元发送所述数据分发模式;所述输入输出单元用于向所述第一处理单元分笔传输所述输入数据,并为每笔输入数据配置所述数据分发模式。
条款A4,根据条款A1-A3中任一项所述的分组运算装置,其中,所述数据分发模式根据存储本地数据的所述多个第二处理单元的分组信息来确定,并且所述数据分发模式包括广播模式、多播模式和单播模式。
条款A5,根据条款A4所述的分组运算装置,其中,在所述输入数据的数据分发模式为所述广播模式时,所述第一处理单元将所述输入数据发送给所述多个第二处理单元中的每个。
条款A6,根据条款A4所述的分组运算装置,其中,在所述输入数据的数据分发模式为所述多播模式时,所述第一处理单元将所述输入数据发送给所述多播模式指示的所述多个第二处理单元中的一部分第二处理单元。
条款A7,根据条款A4所述的分组运算装置,其中,在所述输入数据的数据分发模式为所述单播模式时,所述第一处理单元将所述输入数据发送给所述多播模式指示的所述多个第二处理单元中的一个。
条款A8,根据条款A1-A3中任一项所述的分组运算装置,所述第一处理单元包括:寻址模块,其用于根据所述数据分发模式指示的所述第二处理单元的地址寻址到待接收所述输入数据的第二处理单元。
条款A9,根据条款A1-A3中任一项所述的分组运算装置,其中,所述第一处理单元还用于将所述多个第二处理单元获得的运算结果拼接在一起,获得拼接后的运算结果。
条款A10,根据条款A9所述的分组运算装置,其中,所述第一处理单元将指令并行传输给所述多个第二处理单元之间,并且将数据串行传输给所述多个第二处理单元;或者所述第一处理单元将数据并行传输给所述多个第二处理单元之间,并且将指令串行传输给所述多个第二处理单元。
条款A11,根据条款A1-A3中任一项所述的分组运算装置,其中,所述第一处理单元和所述多个第二处理单元被布置为H型结构、树状结构或阵列机结构。
条款A12,根据条款A1-A3中任一项所述的分组运算装置,其中,所述输入数据是神经元或者权值;当所述输入数据是神经元时,所述本地数据是权值;当所述输入数据是权值时,所述本地数据是神经元。
条款A13,一种分组运算方法,其中,所述分组运算方法包括:利用分组运算装置的第一处理单元根据输入数据的数据分发模式将所述输入数据分发到所述分组运算装置的多个第二处理单元中的至少一个,利用所述多个第二处理单元中的至少一个对各自接收到的所述输入数据和各自存储的本地数据进行分组运算。
条款A14,一种集成电路芯片,包括根据条款A1-A12中任一项所述的分组运算装置。
条款A15,一种计算装置,包括根据条款A1-A12中任一项所述的分组运算装置或根据条款A14所述的集成电路芯片。
条款A16,一种板卡,包括根据条款A15所述的计算装置。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本公开。如在本公开说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本公开说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本公开的方法及其核心思想。同时,本领域技术人员依据本公开的思想,基于本公开的具体实施方式及应用范围上做出的改变或变形之处,都属于本公开保护的范围。综上所述,本说明书内容不应理解为对本公开的限制。

Claims (16)

1.一种分组运算装置,其中,所述分组运算装置包括第一处理单元和多个第二处理单元,
所述第一处理单元用于根据输入数据的数据分发模式,将所述输入数据分发到所述多个第二处理单元中的至少一个,
所述多个第二处理单元中的至少一个对各自接收到的所述输入数据和各自存储的本地数据进行分组运算。
2.根据权利要求1所述的分组运算装置,其中,所述分组运算装置还包括:
数据控制单元,其用于获取所述数据分发模式并向所述第一处理单元分笔传输所述输入数据,并且为每笔输入数据配置所述数据分发模式。
3.根据权利要求2所述的分组运算装置,其中,所述数据控制单元包括控制器单元和输入输出单元;
所述控制器单元用于获取所述数据分发模式,并向所述输入输出单元发送所述数据分发模式;
所述输入输出单元用于向所述第一处理单元分笔传输所述输入数据,并为每笔输入数据配置所述数据分发模式。
4.根据权利要求1至3中任一项所述的分组运算装置,其中,所述数据分发模式根据存储本地数据的所述多个第二处理单元的分组信息来确定,并且所述数据分发模式包括广播模式、多播模式和单播模式。
5.根据权利要求4所述的分组运算装置,其中,在所述输入数据的数据分发模式为所述广播模式时,所述第一处理单元将所述输入数据发送给所述多个第二处理单元中的每个。
6.根据权利要求4所述的分组运算装置,其中,在所述输入数据的数据分发模式为所述多播模式时,所述第一处理单元将所述输入数据发送给所述多播模式指示的所述多个第二处理单元中的一部分第二处理单元。
7.根据权利要求4所述的分组运算装置,其中,在所述输入数据的数据分发模式为所述单播模式时,所述第一处理单元将所述输入数据发送给所述多播模式指示的所述多个第二处理单元中的一个。
8.根据权利要求1至3中任一项所述的分组运算装置,其中,所述第一处理单元包括:
寻址模块,其用于根据所述数据分发模式指示的所述第二处理单元的地址寻址到待接收所述输入数据的第二处理单元。
9.根据权利要求1至3中任一项所述的分组运算装置,其中,所述第一处理单元还用于将所述多个第二处理单元获得的运算结果拼接在一起,获得拼接后的运算结果。
10.根据权利要求9所述的分组运算装置,其中,
所述第一处理单元将指令并行传输给所述多个第二处理单元,并且将数据串行传输给所述多个第二处理单元;或者
所述第一处理单元将数据并行传输给所述多个第二处理单元,并且将指令串行传输给所述多个第二处理单元。
11.根据权利要求1至3中任一项所述的分组运算装置,其中,所述第一处理单元和所述多个第二处理单元被布置为H型结构、树状结构或阵列机结构。
12.根据权利要求1至3中任一项所述的分组运算装置,其中,所述输入数据是神经元或者权值;
当所述输入数据是神经元时,所述本地数据是权值;
当所述输入数据是权值时,所述本地数据是神经元。
13.一种分组运算方法,其中,所述分组运算方法包括:
利用分组运算装置的第一处理单元根据输入数据的数据分发模式将所述输入数据分发到所述分组运算装置的多个第二处理单元中的至少一个,
利用所述多个第二处理单元中的至少一个对各自接收到的所述输入数据和各自存储的本地数据进行分组运算。
14.一种集成电路芯片,包括权利要求1至12中任一项所述的分组运算装置。
15.一种计算装置,包括根据权利要求1至12中任一项所述的分组运算装置或根据权利要求14所述的集成电路芯片。
16.一种板卡,包括根据权利要求15所述的计算装置。
CN202011535040.8A 2020-12-22 2020-12-22 分组运算装置、方法、集成电路芯片、计算装置和板卡 Pending CN114661356A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011535040.8A CN114661356A (zh) 2020-12-22 2020-12-22 分组运算装置、方法、集成电路芯片、计算装置和板卡

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011535040.8A CN114661356A (zh) 2020-12-22 2020-12-22 分组运算装置、方法、集成电路芯片、计算装置和板卡

Publications (1)

Publication Number Publication Date
CN114661356A true CN114661356A (zh) 2022-06-24

Family

ID=82024973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011535040.8A Pending CN114661356A (zh) 2020-12-22 2020-12-22 分组运算装置、方法、集成电路芯片、计算装置和板卡

Country Status (1)

Country Link
CN (1) CN114661356A (zh)

Similar Documents

Publication Publication Date Title
CN109522052B (zh) 一种计算装置及板卡
CN110119807B (zh) 运算方法、装置、计算机设备和存储介质
CN111209243B (zh) 数据处理装置、方法及相关产品
CN111209244B (zh) 数据处理装置及相关产品
CN109740746B (zh) 运算方法、装置及相关产品
CN111381882B (zh) 数据处理装置及相关产品
CN111382847B (zh) 数据处理装置及相关产品
CN111047005A (zh) 运算方法、装置、计算机设备和存储介质
CN114661356A (zh) 分组运算装置、方法、集成电路芯片、计算装置和板卡
CN111723920B (zh) 人工智能计算装置及相关产品
CN111210011B (zh) 数据处理装置及相关产品
CN111382850A (zh) 运算方法、装置及相关产品
US11983535B2 (en) Artificial intelligence computing device and related product
CN111275197B (zh) 运算方法、装置、计算机设备和存储介质
CN111124497B (zh) 运算方法、装置、计算机设备和存储介质
CN111723921B (zh) 人工智能计算装置及相关产品
CN111026440B (zh) 运算方法、装置、计算机设备和存储介质
CN111400341B (zh) 标量查找指令处理方法、装置及相关产品
CN115495157A (zh) 分组运算装置、方法、集成电路芯片、计算装置和板卡
CN111399905B (zh) 运算方法、装置及相关产品
CN111209245B (zh) 数据处理装置、方法及相关产品
CN111062483A (zh) 运算方法、装置、计算机设备和存储介质
CN111045729A (zh) 运算方法、装置及相关产品
CN111222633A (zh) 运算方法、装置及相关产品
CN112394999A (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