数据传输方法、处理器系统、可读存储介质及电子设备

文档序号:1875397 发布日期:2021-11-23 浏览:22次 >En<

阅读说明:本技术 数据传输方法、处理器系统、可读存储介质及电子设备 (Data transmission method, processor system, readable storage medium and electronic device ) 是由 裴京 王松 马骋 徐海峥 于 2021-08-25 设计创作,主要内容包括:本公开涉及一种数据传输方法、处理器系统、可读存储介质及电子设备,该方法包括:在第一工作周期中,计算核簇将计算结果数据传输到缓存核簇,缓存核簇将计算结果数据的第一数据传输到接收核簇;在第二工作周期中,计算核簇执行计算任务,缓存核簇将计算结果数据的第二数据传输到接收核簇,第二数据包括计算结果数据中、除第一数据之外的数据。该方法可减少处理器系统中各芯片的功能核的空转、等待时间,提高了处理器系统的效率和执行速度。(The present disclosure relates to a data transmission method, a processor system, a readable storage medium, and an electronic device, the method including: in a first working period, the computing core cluster transmits computing result data to the cache core cluster, and the cache core cluster transmits first data of the computing result data to the receiving core cluster; in a second working cycle, the computing core cluster executes the computing task, the cache core cluster transmits second data of the computing result data to the receiving core cluster, and the second data comprises data except the first data in the computing result data. The method can reduce idle running and waiting time of the functional cores of each chip in the processor system, and improve the efficiency and execution speed of the processor system.)

数据传输方法、处理器系统、可读存储介质及电子设备

技术领域

本公开涉及计算机技术领域,尤其涉及一种数据传输方法、处理器系统、可读存储介质及电子设备。

背景技术

随着人工智能技术的不断发展,用户对芯片处理能力的要求越来越高,由于单核芯片的处理能力有限,因此众核芯片的使用越来越广泛。通过将计算任务分配到多个核的组合中去并行执行,来提高芯片处理能力。在众核架构芯片中,不但需要执行每个核中被分派的计算任务,还需要进行核与核之间的数据传输,以及芯片与芯片之间的数据传输。众核芯片中的计算任务和芯片间数据传输的执行机制,会影响芯片的整体运行性能。

发明内容

有鉴于此,本公开提出了一种数据传输方法、处理器系统、可读存储介质及电子设备。

根据本公开的一方面,提供了一种数据传输方法,所述方法应用于处理器系统,所述处理器系统包括多个芯片,每个芯片包括多个功能核,位于相同芯片内的功能核之间的数据传输速度高于位于不同芯片的功能核之间的数据传输速度,其中,每个芯片的所述多个功能核根据任务不同划分为多个核簇,在由第一芯片向第二芯片传输数据的情况下,所述第一芯片包括用于执行计算任务的计算核簇,以及用于执行数据缓存及传输任务的缓存核簇,所述第二芯片包括用于执行数据接收任务的接收核簇,所述第一芯片和所述第二芯片为所述处理器系统的任意两个芯片,其中,所述方法包括:

在第一工作周期中,所述计算核簇将计算结果数据传输到所述缓存核簇,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇;在第二工作周期中,所述计算核簇执行计算任务,所述缓存核簇将所述计算结果数据的第二数据传输到所述接收核簇,所述第二数据包括所述计算结果数据中、除所述第一数据之外的数据。

在一种可能的实现方式中,在所述第一工作周期中,所述计算核簇、所述缓存核簇及所述接收核簇之间时序同步;在所述第二工作周期中,所述计算核簇与所述缓存核簇及所述接收核簇之间时序异步,所述缓存核簇与所述接收核簇之间时序同步。

在一种可能的实现方式中,在第一工作周期中,所述计算核簇将计算结果数据传输到所述缓存核簇,包括:在所述计算结果数据传输完成的情况下,所述第一工作周期结束。

在一种可能的实现方式中,所述处理器系统的不同芯片之间通过串行方式传输数据,其中,在第一工作周期中,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇,包括:所述缓存核簇中的第一功能核将所述第一数据的第一子数据传输到所述接收核簇;所述缓存核簇中的第二功能核将所述第一数据的第二子数据传输到第三芯片的多播核簇,以使所述多播核簇将所述第二子数据传输到所述接收核簇,其中,所述第三芯片为所述处理器系统中、除所述第一芯片和所述第二芯片之外的至少一个芯片。

在一种可能的实现方式中,在第二工作周期中,所述缓存核簇将所述计算结果数据的第二数据传输到所述接收核簇,包括:所述缓存核簇中的第一功能核将所述第二数据的第三子数据传输到所述接收核簇;所述缓存核簇中的第二功能核将所述第二数据的第四子数据传输到所述第三芯片的多播核簇,以使所述多播核簇将所述第四子数据传输到所述接收核簇。

在一种可能的实现方式中,所述方法还包括:在第一工作周期中,所述第三芯片的多播核簇将所述第二子数据传输到所述第二芯片的接收核簇;在第二工作周期中,所述第三芯片的多播核簇将所述第四子数据传输到所述第二芯片的接收核簇。

在一种可能的实现方式中,所述第一工作周期包括N个第一子周期,N为大于1的整数,其中,在第一工作周期中,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇,包括:在第1个第一子周期中,所述缓存核簇不向所述接收核簇传输数据;在第2个第一子周期至第N个第一子周期中,所述缓存核簇向所述接收核簇传输所述第一数据。

根据本公开的另一方面,提供了一种处理器系统,所述处理器系统包括多个芯片,每个芯片包括多个功能核,位于相同芯片内的功能核之间的数据传输速度高于位于不同芯片的功能核之间的数据传输速度,其中,每个芯片的所述多个功能核根据任务不同划分为多个核簇,在由第一芯片向第二芯片传输数据的情况下,所述第一芯片包括用于执行计算任务的计算核簇,以及用于执行数据缓存及传输任务的缓存核簇,所述第二芯片包括用于执行数据接收任务的接收核簇,所述第一芯片和所述第二芯片为所述处理器系统的任意两个芯片,其中,所述第一芯片被配置为:

在第一工作周期中,所述计算核簇将计算结果数据传输到所述缓存核簇,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇;在第二工作周期中,所述计算核簇执行计算任务,所述缓存核簇将所述计算结果数据的第二数据传输到所述接收核簇,所述第二数据包括所述计算结果数据中、除所述第一数据之外的数据。

在一种可能的实现方式中,在所述第一工作周期中,所述计算核簇、所述缓存核簇及所述接收核簇之间时序同步;在所述第二工作周期中,所述计算核簇与所述缓存核簇及所述接收核簇之间时序异步,所述缓存核簇与所述接收核簇之间时序同步。

在一种可能的实现方式中,在第一工作周期中,所述计算核簇将计算结果数据传输到所述缓存核簇,包括:在所述计算结果数据传输完成的情况下,所述第一工作周期结束。

在一种可能的实现方式中,所述处理器系统的不同芯片之间通过串行方式传输数据,其中,在第一工作周期中,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇,包括:所述缓存核簇中的第一功能核将所述第一数据的第一子数据传输到所述接收核簇;所述缓存核簇中的第二功能核将所述第一数据的第二子数据传输到第三芯片的多播核簇,以使所述多播核簇将所述第二子数据传输到所述接收核簇,其中,所述第三芯片为所述处理器系统中、除所述第一芯片和所述第二芯片之外的至少一个芯片。

在一种可能的实现方式中,在第二工作周期中,所述缓存核簇将所述计算结果数据的第二数据传输到所述接收核簇,包括:所述缓存核簇中的第一功能核将所述第二数据的第三子数据传输到所述接收核簇;所述缓存核簇中的第二功能核将所述第二数据的第四子数据传输到所述第三芯片的多播核簇,以使所述多播核簇将所述第四子数据传输到所述接收核簇。

在一种可能的实现方式中,所述系统还包括:在第一工作周期中,所述第三芯片的多播核簇将所述第二子数据传输到所述第二芯片的接收核簇;在第二工作周期中,所述第三芯片的多播核簇将所述第四子数据传输到所述第二芯片的接收核簇。

在一种可能的实现方式中,所述第一工作周期包括N个第一子周期,N为大于1的整数,其中,在第一工作周期中,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇,包括:在第1个第一子周期中,所述缓存核簇不向所述接收核簇传输数据;在第2个第一子周期至第N个第一子周期中,所述缓存核簇向所述接收核簇传输所述第一数据。

根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。

根据本公开的另一方面,提供了一种电子设备,所述电子设备包括上述的处理器系统。

根据本公开的实施例的数据传输方法,可以根据任务不同划分为多个核簇,在第一工作周期中,将计算核簇存储的计算结果数据传输到缓存核簇,缓存核簇再将计算结果数据的部分数据传输到接收核簇;然后,在第二工作周期中,计算核簇可以执行计算任务,与此同时缓存核簇可将计算结果数据中剩余的数据传输到接收核簇。可以避免处理器系统中的众核芯片按照全局同步的时序来执行每个核的计算任务和核间数据传输的情况,可以有效减少了处理器系统内芯片之间的各功能核的空转、等待时间,提高了处理器系统的计算效率和执行速度。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出相关技术中基于众核架构的数据传输执行机制的示意图;

图2示出根据本公开的实施例的处理器系统的示意图;

图3示出根据本公开的实施例的芯片内核簇执行计算任务的示意图;

图4示出根据本公开的实施例的数据传输方法的流程图;

图5示出相关技术中数据传输方法的示意图;

图6示出根据本公开的实施例的数据传输方法的示意图;

图7示出相关技术中片间数据传输方法的示意图;

图8示出根据本公开的实施例的片间数据传输方法的示意图;

图9示出根据本公开实施例的电子设备的框图;

图10示出根据本公开实施例的电子设备的框图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

在众核芯片系统中,功能核内计算任务和功能核间数据传输任务的执行机制,会影响到众核芯片的整体运行性能。为了解决上述问题,相关技术中提供了一种批量同步并行(Bulk Synchronous Parallel,BSP)机制。在这种机制中,众核芯片的基本操作主要包括三个阶段:(1)本地计算阶段,每个功能核只对存储本地内存中的数据进行本地计算。(2)全局通信阶段,每个功能核对非本地数据进行操作,包括功能核间的数据传输。(3)栅栏同步阶段,等待所有通信行为的结束。

相关技术中还提供有另外一种执行机制,即众核芯片的执行被全局同步信号划分为多个同步的执行周期。在每一个执行周期,每个功能核同时执行本地计算任务和核间通信任务,每个功能核在进行本地计算的同时,会将已经得到的计算结果传输出去。

图1示出相关技术中基于众核架构的数据传输执行机制的示意图。如图1所示,众功能核需要按照全局同步的工作周期来执行本地计算和核间通信任务。在一个示例中,图1包括三个时序簇,每个时序簇都可以进行核间的数据传输(包括数据发送和数据接收)与执行计算任务。例如,时序簇1可以包括数据接收A1、数据发送B1和数据计算C1三个部分,时序簇2可以包括数据接收A2、数据发送B2和数据计算C2三个部分,时序簇3可以包括数据接收A3、数据发送B3和数据计算C3三个部分。同一个时序簇的数据传输部分以及数据计算部分可以在不同的工作周期内完成。

如图1所示,时序簇1、时序簇2和时序簇3同步开始进行数据传输任务,并且在数据传输完成后同步结束。当时序簇1中的功能核完成数据接收A1和数据发送B1后,需要空转或等待时序簇2中的数据发送B2完成,以及时序簇3中的数据接收A3完成后进行同步,然后再开始执行数据计算C1。时序簇1、时序簇2以及时序簇3中的功能核在进行数据传输时都同步开始且同步结束,造成时序簇在执行数据计算前空转或等待的现象,浪费了众核处理器的有限资源,降低了众核处理器的利用率和执行效率。

因此,针对众核芯片需要按照全局同步的工作周期来执行本地芯片间的通信任务,以及芯片的本地计算和芯片间通信以串行的方式执行,降低了执行效率的技术问题,本公开实施例提供一种数据传输方法,通过设置缓存核簇,将该芯片计算核簇的计算结果数据先发送至本芯片的缓存核簇,再通过缓存核簇发送至芯片外的接收核簇,使众核芯片可以不用按照全局同步的时序来执行每个功能核的计算任务和核间的数据交互任务,进而有效减少了处理器系统内芯片之间的各功能核的空转、等待时间,提高了处理器系统的计算效率和执行速度。

图2示出根据本公开的实施例的处理器系统的示意图。本公开实施例的数据传输方法应用于处理器系统,所述处理器系统包括多个芯片,每个芯片包括多个功能核。

在一种可能的实现方式中,如图2所示,每个芯片可包括多个功能核,每个芯片内部的功能核之间、以及不同芯片的功能核之间可进行数据传输;其中,每个功能核可包括存储部件,用于存储与其他功能核进行传输的数据。

在一种可能的实现方式中,如图2所示,每个功能核可包括处理部件及存储部件。其中,处理部件可包括树突单元、轴突单元、胞体单元、路由单元;存储部件可包括多个存储单元。

在一种可能的实现方式中,处理器系统包括的多个芯片可以是类脑计算芯片,即存算一体的神经形态电路,以大脑的处理模式为参考,通过模拟大脑中神经元对信息的传递与处理,提升处理效率并降低功耗。每个类脑计算芯片可包括多个功能核,功能核之间可独立处理不同的任务,或并行处理同一任务,以提升处理效率。功能核之间可通过功能核内的路由单元进行核间信息传输。

举例来说,在功能核之内,可以设置有储存部件和处理部件。存储部件可包括多个存储单元,其中,存储单元可以为静态随机存取存储器(Static Random Access Memory,SRAM)。例如,可以包括读写宽度为16B,容量为12KB的SRAM。本公开对存储单元的容量大小和位宽不做限定。

处理部件可以包括树突单元、轴突单元、胞体单元和路由单元。处理部件可以模拟大脑的神经元对信息的处理模式,其中,树突单元用于接收信号,轴突单元用于发送尖峰信号,胞体单元用于信号的集成变换,路由单元用于同其它功能核进行信息传输。功能核内的处理部件可以对存储部件的多个存储单元进行读写访问,以与功能核内的存储部件进行数据交互,并可分别承担各自的数据处理任务和/或数据传输任务,以获得数据处理结果,或者与其他功能核进行通信。其中,与其他功能核进行通信包括与本芯片内的其他功能核进行通信,以及与其他芯片内的功能核通信。

在一种可能的实现方式中,位于相同芯片内的功能核之间的数据传输速度高于位于不同芯片的功能核之间的数据传输速度。

举例来说,假设处理器系统可包括芯片E和芯片F,芯片E包括功能核E1和功能核E2,芯片F包括功能核F1和功能核F2。功能核E1和功能核E2之间,以及功能核F1和功能核F2之间的数据传输,是相同芯片的功能核之间的数据传输,速度比较高。而功能核E1和功能核F1(或功能核F2)之间,以及功能核E2和功能核F1(或功能核F2)之间,是不同芯片的功能核之间的数据传输,速度比较低。例如,相同芯片内的功能核之间的数据传输速度,可以是不同芯片的功能核之间的数据传输速度的3倍。

应当理解,相同芯片内的功能核之间的数据传输速度、以及不同芯片的功能核之间的数据传输速度与具体的处理器系统硬件的性能相关,本公开对具体核间的数据传输速度不作限制。

在一种可能的实现方式中,每个芯片的所述多个功能核根据任务不同划分为多个核簇。

举例来说,功能核按照所执行的任务不同或者任务的执行时间不同,可以被分成不同的异步核簇,每一个核簇内可以包含一个或多个功能核。属于同一个异步核簇的功能核,具有同步的本地处理和核间通信周期。针对每一个核簇,其在时间上可以循环并连续地执行多个任务的循环,每个任务对应一个执行周期,这些不同的任务周期所对应的时间长度(时钟数),有可能相等,也有可能不等。不同的核簇,各自按照各自内部的同步信号来执行,因此他们之间在执行周期上,是异步的。

图3示出根据本公开的实施例的芯片内核簇执行计算任务的示意图,如图3所示,该芯片获取一个包含4个计算任务(计算任务1、计算任务2、计算任务3和计算任务4)的计算总任务,根据待执行的计算总任务将芯片中的16个核拆分为两个核簇即核簇1和核簇2。在核簇1中包含9个核,用于执行计算任务1和计算任务2。在时间上,核簇1对应的第一个工作周期执行计算任务1,在第二个工作周期执行计算任务2。在核簇2中包含7个核,用于执行计算任务3和计算任务4。在时间上,核簇2对应的第一个工作周期执行计算任务3,在第二个工作周期执行计算任务4。这两个核簇异步执行。

应当理解,上述过程中的任务可以是计算任务,也可以是传输任务、缓存任务等其它任务,本公开对任务的具体类型不作限制。

针对处理器系统的任意两个芯片(可称为第一芯片和第二芯片),在由第一芯片向第二芯片传输数据的情况下,所述第一芯片包括用于执行计算任务的计算核簇,以及用于执行数据缓存及传输任务的缓存核簇,所述第二芯片包括用于执行数据接收任务的接收核簇。

图4示出根据本公开的实施例的数据传输方法的流程图。如图4所示,该方法包括:

在步骤S11中,在第一工作周期中,所述计算核簇将计算结果数据传输到所述缓存核簇,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇;

在步骤S12中,在第二工作周期中,所述计算核簇执行计算任务,所述缓存核簇将所述计算结果数据的第二数据传输到所述接收核簇,所述第二数据包括所述计算结果数据中、除所述第一数据之外的数据。

举例来说,第一芯片可根据收到的计算任务和传输任务,对第一芯片中包括的多个功能核进行分簇处理,例如,可将9个功能核作为计算核簇,用于处理计算任务;将3个功能核作为缓存核簇,用于处理传输任务。第二芯片可根据收到的数据接收任务,对第二芯片中包括的多个功能核进行分簇处理,例如,可将3个功能核作为接收核簇,用于处理数据接收任务。

其中,第一芯片和第二芯片可以为处理器系统中任意两个不同的芯片,可根据具体的任务以及功能核的性能,确定所划分的各核簇中包括的功能核具体数量,本公开对此不作限制。

在步骤S11中,在第一工作周期中,第一芯片中的计算核簇不执行计算任务,而是将第一工作周期之前获取的计算结果数据传输至第二芯片。可将第一芯片的计算核簇中存储的计算结果数据,传输至第一芯片的缓存核簇,第一芯片的缓存核簇再将计算结果数据的第一数据传输到第二芯片的接收核簇;

根据处理器系统的硬件结构与工作模式的限制,芯片内的功能核之间的数据传输速度,高于位于不同芯片的功能核之间的数据传输速度。因此,第一芯片的计算核簇与第一芯片的缓存核簇间的数据传输速度,高于第一芯片的缓存核簇与第二芯片的接收核簇间的数据传输速度。

在第一芯片的计算核簇中存储的计算结果数据,全部传输至第一芯片的缓存核簇,第一工作周期结束。在这种情况下,由于片内传输速度大于片间传输速度,第一芯片的缓存核簇无法将计算结果数据全部传输到第二芯片的接收核簇,仅能够将计算结果数据中的部分数据,也即第一数据,传输至第二芯片的接收核簇。

在步骤S12中,在第二工作周期中,由于第一芯片的计算核簇已经在第一工作周期将全部计算结果数据传输至第一芯片的缓存核簇。计算核簇可以结束传输任务,执行计算任务,用于获取下一循环待传输的计算结果数据。

第一芯片的缓存核簇已经在第一工作周期将第一数据传输至第二芯片的接收核簇,但是缓存核簇中还存储有未发送至第二芯片接收核簇的部分计算结果数据,也即第二数据。第一芯片的缓存核簇可以继续执行传输任务,将计算结果数据中除第一数据之外的第二数据,传输至第二芯片的接收核簇。

在第一芯片的计算核簇执行完计算任务,得到下一轮待发送的计算结果数据,并且第一芯片的缓存核簇将第二数据传输至第二芯片的接收核簇,第二工作周期结束,可以开始下一轮循环。

通过这种方式,不同的核簇可以完成不同的任务,核簇内完成相同的任务,可在第一工作周期中,将计算核簇存储的计算结果数据传输到缓存核簇,缓存核簇再将计算结果数据的部分数据传输到接收核簇;然后,在第二工作周期中,计算核簇可以执行计算任务,与此同时缓存核簇可将计算结果数据中剩余的数据传输到接收核簇。该方法能够有效减少处理器系统内芯片之间的各功能核的空转、等待时间,提高了处理器系统的计算效率和执行速度。

下面对根据本公开实施例的数据传输方法进行展开说明。

图5示出相关技术中数据传输方法的示意图。如图5所示,假设第一芯片的计算核簇包括功能核2,7、功能核2,8、功能核3,7、功能核3,8,第二芯片的接收核簇包括功能核0,11。第一芯片的计算核簇的上述四个功能核共需将28KB的计算结果数据发送至第二芯片的接收核簇的功能核0,11。

应当理解,计算核簇和接收核簇可包括多个功能核,本公开仅以计算核簇内包括的功能核2,7、功能核2,8、功能核3,7、功能核3,8,接收核簇包括的功能核0,11为例,计算核簇与接收核簇还可以包括其它功能核,本公开对核簇包括的功能核具体的数量不作限制,簇内包括的其它功能核的具体工作方式可以参数上述功能核的工作方式,本公开不再赘叙。

如图5所示,第一芯片计算核簇的四个功能核(2,7、2,8、3,7、3,8),以每个工作子周期传输4KB的传输速率,在7个工作子周期(P1~P7)内,将28KB的计算结果数据发送至第二芯片的接收核簇的功能核0,11。

之后,在工作子周期(P8~P10),第一芯片计算核簇的四个功能核执行计算任务,不进行数据传输任务;第二芯片接收核簇的功能核0,11空转等待。

可见,当第一芯片的计算核簇执行计算任务时,第二芯片的接收核簇需要空转等待,第二芯片的接收核簇需要等待计算核簇的计算任务完毕,才可以开始接收;并且,在第二芯片的接收核簇接收计算结果数据的过程中,伴随着第一芯片计算核簇发送计算结果数据,计算核簇不能进行其他任务。因此,如图5所示的方式,需要等待全局的同步信号来进行周期切换和数据传输,会造成部分功能核的空转和等待,大大降低芯片的利用率和执行效率。

针对图5示出的数据传输方法存在效率不高的问题,图6示出根据本公开的实施例的数据传输方法的示意图。如图6所示,假设第一芯片的计算核簇包括功能核2,7、功能核2,8、功能核3,7、功能核3,8;第一芯片的缓存核簇包括功能核2,9;第二芯片的接收核簇包括功能核0,11。第一芯片的计算核簇的上述四个功能核共需将28KB的计算结果数据发送至第二芯片的接收核簇的功能核0,11。

在步骤S11中,如图6所示,在第一工作周期中(T1~T3),第一芯片计算核簇的四个功能核(2,7、2,8、3,7、3,8),将计算结果数据28KB(即12KB+12KB+4KB)传输到片内缓存核簇的功能核2,9,第一芯片缓存核簇的功能核2,9将计算结果数据的第一数据8KB(4KB+4KB)传输到第二芯片接收核簇的功能核0,11;

应当理解,计算核簇、缓存核簇和接收核簇可包括多个功能核,本公开仅以计算核簇内包括的功能核2,7、功能核2,8、功能核3,7、功能核3,8,缓存核簇包括的功能核2,9,接收核簇包括的功能核0,11为例,计算核簇、缓存核簇、接收核簇还可以包括其它功能核,本公开对核簇包括的功能核具体的数量不作限制,簇内包括的其它功能核的具体工作方式可以参数上述功能核的工作方式,本公开不再赘叙。

在一种可能的实现方式中,所述第一工作周期包括N个第一子周期,N为大于1的整数,其中,在第一工作周期中,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇,包括:

在第1个第一子周期中,所述缓存核簇不向所述接收核簇传输数据;

在第2个第一子周期至第N个第一子周期中,所述缓存核簇向所述接收核簇传输所述第一数据。

举例来说,如图6所示,第一工作周期包括3个第一子周期T1~T3。其中,本公开对第一工作周期包括的第一子周期的数量不作限制,可根据具体的待处理任务确定第一子周期的数量。

在第1个第一子周期中T1,第一芯片缓存核簇的功能核2,9空转运行,不向第二芯片接收核簇功能核0,11传输数据;

在第2个第一子周期中T2,第一芯片缓存核簇的功能核2,9向第一芯片接收核簇功能核0,11传输4KB的数据。

在第3个第一子周期中T3,第一芯片缓存核簇的功能核2,9向第一芯片接收核簇功能核0,11传输4KB的数据。

其中,在第2个第一子周期与第3个第一子周期中,第一芯片缓存核簇的功能核2,9向第一芯片接收核簇功能核0,11共传输了8KB的第一数据。

通过这种方式,只在第一工作周期的第1个第一子周期中,第一芯片的缓存核簇和第二芯片的接收核簇空转运行;并且,由于片内核间数据传输速率大于片间数据传输速率,有利于第一芯片的计算核簇尽快进入第二工作周期,执行计算任务,而缓存核簇与接收核簇间可以异步的继续进行数据传输任务。可以有效减少了处理器系统内芯片之间的各功能核的空转、等待时间,提高了处理器系统的计算效率和执行速度。

在一种可能的实现方式中,在第一工作周期中,所述计算核簇将计算结果数据传输到所述缓存核簇,包括:

在所述计算结果数据传输完成的情况下,所述第一工作周期结束。

举例来说,如图6所示,在第一工作周期中的在第3个第一子周期T3,第一芯片计算核簇的四个功能核(2,7、2,8、3,7、3,8),将计算结果数据28KB中最后的4KB数据传输到片内缓存核簇的功能核2,9,第一工作周期结束。

通过这种方式,第一芯片的缓存核簇中还存储有未传输至第二芯片的部分计算结果数据(即第二数据),而计算核簇已传输完毕所有的计算结果数据,有利于第一芯片的计算核簇尽快进入第二工作周期,执行计算任务,而缓存核簇与接收核簇间可以在第二工作周期异步地继续进行数据传输任务。可以有效减少处理器系统内芯片之间的各功能核的空转、等待时间,提高处理器系统的计算效率和执行速度。

在一种可能的实现方式中,在所述第一工作周期中,所述计算核簇、所述缓存核簇及所述接收核簇之间时序同步;

举例来说,如图6所示,第一芯片的计算核簇的四个功能核(2,7、2,8、3,7、3,8),第一芯片缓存核簇的功能核2,9,以及第二芯片接收核簇的功能核0,11之间时序是同步的。

例如,在第1个第一子周期T1,第一芯片的计算核簇的四个功能核(2,7、2,8、3,7、3,8),共计向片内的缓存核簇的功能核2,9发送12KB的计算结果数据,与此同时,缓存核簇的功能核2,9空转运行,不向第二芯片接收核簇功能核0,11传输数据;

在第2个第一子周期T2,第一芯片的计算核簇的四个功能核(2,7、2,8、3,7、3,8),继续向片内的缓存核簇的功能核2,9发送12KB的计算结果数据,与此同时,第一芯片缓存核簇的功能核2,9向第一芯片接收核簇功能核0,11传输4KB的计算结果数据。

其中,4KB的计算结果数据为缓存核簇的功能核2,9第1个第一子周期T1收到的12KB中的4KB数据,加上该第一子周期T2收到的12KB计算结果数据,在该第一子周期T2结束,缓存核簇的功能核2,9中一共缓存有20KB的计算结果数据。

在第3个第一子周期T3,第一芯片的计算核簇的四个功能核(2,7、2,8、3,7、3,8),向片内的缓存核簇的功能核2,9发送最后4KB的计算结果数据,与此同时,第一芯片缓存核簇的功能核2,9向第一芯片接收核簇功能核0,11传输4KB的计算结果数据。

其中,在第3个第一子周期T3结束,缓存核簇的功能核2,9中一共缓存有20KB的计算结果数据。

通过这种方式,计算核簇、缓存核簇及接收核簇之间可以时序同步,在相同的时间内,芯片内计算核簇与缓存核簇之间的传输速度远高于芯片间缓存核簇与接收核簇的传输速度,芯片内核簇之间的数据传输早于芯片间核簇之间数据传输完毕。有助于计算核簇提前进入计算状态,提高处理器系统的效率。

在步骤S12中,如图6所示,在第二工作周期中(即T4~T7),第一芯片计算核簇的四个功能核(2,7、2,8、3,7、3,8)执行计算任务,第一芯片缓存核簇功能核2,9将剩余的计算结果数据20KB(28KB-8KB),也即第二数据传输到第二芯片接收核簇的功能核0,11。

在一种可能的实现方式中,在所述第二工作周期中,所述计算核簇与所述缓存核簇及所述接收核簇之间时序异步,所述缓存核簇与所述接收核簇之间时序同步。

举例来说,如图6所示,在第3个第一子周期T3结束,芯片内数据传输完毕,在第二工作周期中(即第二子周期T4~T7),第一芯片的计算核簇进入计算状态,片间的缓存核簇和接收核簇继续进行传输任务。也即在第二工作周期中,第一芯片的缓存核簇与第二芯片的接收核簇是同步的,两者与计算核簇是异步的。

其中,第一芯片的缓存核簇与第二芯片的接收核簇时序是同步的,并且可以根据传输需要设定每一个第二子周期的时长,例如,如图6所示,可以设置第1个第二子周期T4与第2个第二子周期T5的时长较短,第一芯片的缓存核簇可以向第二芯片的接收核簇传输4KB的计算结果数据;可以设置第3个第二子周期T6与第4个第二子周期T7的时长较长,第一芯片的缓存核簇可以向第二芯片的接收核簇传输6KB的计算结果数据。与此同时,计算核簇的时序,与缓存核簇(或接收核簇)是异步的,可以根据计算任务的需要设置计算核簇的工作时序。

应当理解,片间的缓存核簇与接收核簇可根据传输任务的需要设置同步的时序,计算核簇可根据自身计算任务的需要设置与缓存核簇(或接收核簇)异步的时序,本公开对各核簇具体时序的设置不作限制。

通过这种方式,在第二工作周期,计算核簇可异步的执行计算任务,与此同时,缓存核簇与接收核簇同步地继续执行传输任务,可以有效减少处理器系统内芯片之间的各功能核的空转、等待时间,提高处理器系统的计算效率和执行速度。

因此,对比图5示出的相关技术中数据传输方法,计算核簇直接发送至片外的接收核簇,由于片间数据传输速度较低,会造成计算核簇一直在以较低的速度进行数据传输。并且,在计算核簇进行计算任务时,接收核簇需要空转等待,效率比较低。

本公开的实施例中数据传输方法,通过设置缓存核簇,可以先将计算核簇的计算结果数据传输至缓存核簇,再通过缓存核簇传输至接收核簇,由于片内数据传输速度较高,计算核簇可以提前进入计算状态;并且,在计算核簇进行计算任务时,接收核簇不需要空转等待,可以继续接收缓存核簇的计算结果数据,提高了处理器系统的计算效率和执行速度。

在如图6所示的数据传输方法的基础上,本公开还可以利用多播传输方法,进一步提高片间数据传输效率。下面可通过相关技术方法与本公开实施例方法对比说明的方式,介绍本公开实施例的多播传输方法。

图7示出相关技术中片间数据传输方法的示意图。如图7所示,芯片1中计算核簇可包括28个功能核(2,7~15,7、2,8~15,8),芯片2中接收核簇可包括7个功能核(15,0~15,6)。

芯片1的计算核簇直接发送计算结果数据至片外芯片2的接收核簇,其中,芯片1中每4个功能核的计算结果数据对应芯片2中的1个功能核,例如,功能核2,7、2,8、3,7、3,8可将计算结果传输至片外的同一个功能核15,0。

由于片间的输出传输量比较小,而且两个芯片间的数据传输为一个方向的串行模式,仅从一个方向传输会造成计算核簇一直在以极小速度进行数据传输,传输时间巨大,降低芯片效率。

针对如图7所示的片间传输效率低的问题,图8示出根据本公开的实施例片间数据传输方法的示意图。如图8所示,将芯片1~芯片4包括的功能核分成多个部分,例如可根据计算任务、缓存任务,接收任务、多播任务进行分簇。

其中,不同核簇完成不同的任务,核簇内完成相同的任务。不同核簇间可进行数据传输,并且核簇间的数据传输可和上下游的核簇相关,数据传输任务可包括数据接收和数据发送,每个核簇可先进行数据传输,后进行数据计算。

如图8所示,芯片1(即第一芯片)中可包括计算核簇和缓存核簇,计算核簇可包括28个功能核(2,7~15,7、2,8~15,8),缓存核簇可包括7个功能核(2,9、4,9、6,9、8,9、10,9、12,9、14,9);芯片2(即第二芯片)中接收核簇可包括7个功能核(15,0~15,6);芯片3(即第三芯片)多播核簇包括2个功能核(0,11、1,11);芯片4(即第三芯片)中多播核簇包括3个功能核(0,11、1,11、2,11)。

芯片1缓存核簇中的7个功能核,可直接发送给芯片2~芯片4的核簇。通过芯片3、芯片4的多个核簇多播给芯片2的接收核簇。如图8所示,芯片2可收到分别从下面,左边、右边3部分数据,这三部分数据传输是并行的。

在一种可能的实现方式中,所述处理器系统的不同芯片之间通过串行方式传输数据,其中,在第一工作周期中,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇,包括:

所述缓存核簇中的第一功能核将所述第一数据的第一子数据传输到所述接收核簇;所述缓存核簇中的第二功能核将所述第一数据的第二子数据传输到第三芯片的多播核簇,以使所述多播核簇将所述第二子数据传输到所述接收核簇,其中,所述第三芯片为所述处理器系统中、除所述第一芯片和所述第二芯片之外的至少一个芯片。

举例来说,在第一工作周期中,如图8所示,缓存核簇中的第一功能核(6,9、8,9)将第一数据的第一子数据传输到接收核簇的功能核(15,2、15,3);

其中,第一子数据表示在第一工作周期中,通过第一功能核(6,9、8,9)所传输的部分第一数据,也即第一功能核(6,9、8,9)所收到的,计算核簇中功能核(6,7、6,8、7,7、7,8、8,7、8,8、9,7、9,8)发送的计算结果数据的一部分。

与此同时,缓存核簇中的第二功能核(2,9、4,9、10,9、12,9、14,9)将第一数据的第二子数据传输到第三芯片(芯片3、芯片4)的多播核簇(芯片3功能核0,11、1,11;芯片4功能核0,11、1,11、2,11),以使多播核簇可以将第二子数据传输到接收核簇。

其中,第二子数据表示第一数据中、除第一子数据以外的数据,第三芯片可包括多个芯片,本公开对第三芯片的数量不作限制。例如,图8中第三芯片可包括芯片3和芯片4,每一个第三芯片可包括一个多播核簇。

芯片3中的多播核簇(0,11、1,11)可接收缓存核簇的第二功能核(2,9、4,9)发送的部分计算结果数据(即芯片3多播核簇对应的第二子数据),并可将该数据传输到芯片2的接收核簇的功能核(15,0、15,1);

芯片4中的多播核簇(0,11、1,11、2,11)可接收缓存核簇的第二功能核(10,9、12,9、14,9)发送的部分计算结果数据(即芯片4多播核簇对应的第二子数据),并可将该数据传输到芯片2的接收核簇的功能核(15,4、15,5、15,6)。

由于不同芯片之间通过串行方式传输数据,并且任意两个芯片间的路由带宽是固定的,在这种情况下,对比图7中芯片1直接传输计算结果数据至芯片2,图8中通过设置多播核簇,有助于在第一工作周期中使芯片1、芯片3和芯片4并行的传输计算结果数据至芯片2,可将芯片间的数据传输速度提高3倍。

通过这种方式,可通过设置多播核簇,在第一工作周期中实现芯片间的并行传输,提高芯片的数据传输速度。

在一种可能的实现方式中,在第二工作周期中,所述缓存核簇将所述计算结果数据的第二数据传输到所述接收核簇,包括:

所述缓存核簇中的第一功能核将所述第二数据的第三子数据传输到所述接收核簇;

所述缓存核簇中的第二功能核将所述第二数据的第四子数据传输到所述第三芯片的多播核簇,以使所述多播核簇将所述第四子数据传输到所述接收核簇。

举例来说,在第二工作周期中,如图8所示,缓存核簇中的第一功能核(6,9、8,9)将第二数据的第三子数据传输到接收核簇的功能核(15,2、15,3);

其中,第三子数据表示在第二工作周期中,通过第一功能核(6,9、8,9)所传输的部分第二数据,也即计算核簇中功能核(6,7、6,8、7,7、7,8、8,7、8,8、9,7、9,8)发送的计算结果数据中、除第一子数据之外的数据。

与此同时,缓存核簇中的第二功能核(2,9、4,9、10,9、12,9、14,9)将第二数据的第四子数据传输到第三芯片(芯片3、芯片4)的多播核簇(芯片3功能核0,11、1,11;芯片4功能核0,11、1,11、2,11),以使多播核簇可以将第四子数据传输到接收核簇。

其中,第四子数据表示第二数据中除去第三子数据的部分第二数据,第三芯片可包括多个芯片,本公开对第三芯片的数量不作限制。例如,图8中第三芯片可包括芯片3和芯片4,每一个第三芯片可包括一个多播核簇。

芯片3中的多播核簇(0,11、1,11)可接收缓存核簇的第二功能核(2,9、4,9)发送的剩余部分的计算结果数据(即芯片3多播核簇对应的第四子数据),并可将该数据传输到芯片2的接收核簇的功能核(15,0、15,1);

芯片4中的多播核簇(0,11、1,11、2,11)可接收缓存核簇的第二功能核(10,9、12,9、14,9)发送的剩余部分的计算结果数据(即芯片4多播核簇对应的第四子数据),并可将该数据传输到芯片2的接收核簇的功能核(15,4、15,5、15,6)。

由于不同芯片之间通过串行方式传输数据,并且任意两个芯片间的路由带宽是固定的,在这种情况下,对比图7中芯片1直接传输计算结果数据至芯片2,图8中通过设置多播核簇,有助于在第二工作周期中使芯片1、芯片3和芯片4并行的传输计算结果数据至芯片2,可将芯片间的数据传输速度提高3倍。

通过这种方式,可通过设置多播核簇,在第二工作周期中实现芯片间的并行传输,提高芯片的数据传输速度。

在一种可能的实现方式中,所述方法还包括:在第一工作周期中,所述第三芯片的多播核簇将所述第二子数据传输到所述第二芯片的接收核簇;在第二工作周期中,所述第三芯片的多播核簇将所述第四子数据传输到所述第二芯片的接收核簇。

举例来说,如图8所示,第三芯片可包括芯片3和芯片4,本公开对第三芯片的数量不作限制。

在第一工作周期中,各第三芯片的多播核簇可并行将第二子数据传输到第二芯片的接收核簇。

例如,芯片3中的多播核簇(0,11、1,11)可将所对应的第二子数据(即第二功能核2,9、4,9发送的)传输到芯片2的接收核簇的功能核(15,0、15,1);芯片4中的多播核簇(0,11、1,11、2,11)可将对应的第二子数据(即第二功能核10,9、12,9、14,9发送的)传输到芯片2的接收核簇的功能核(15,4、15,5、15,6)。

在第二工作周期中,各第三芯片的多播核簇可并行将第四子数据传输到第二芯片的接收核簇。

例如,芯片3中的多播核簇(0,11、1,11)可将所对应的第四子数据(即第二功能核2,9、4,9发送的)传输到芯片2的接收核簇的功能核(15,0、15,1);芯片4中的多播核簇(0,11、1,11、2,11)可将对应的第四子数据(即第二功能核10,9、12,9、14,9发送的)传输到芯片2的接收核簇的功能核(15,4、15,5、15,6)。

通过这种方式,可通过多播核簇,实现芯片间的并行传输,提高芯片的数据传输速度。

因此,根据本公开实施例的数据传输方法,通过在片内设置缓存核簇,可以避免按照全局同步的时序来执行每个功能核的本地计算任务和核间的数据交互,使计算核簇与缓存核簇的数据传输可同步启动,异步结束,数据计算任务紧接着传输任务的结束异步启动执行,可以大大提升芯片的执行效率,减少处理器系统中计算核的空转等待时间。并且,通过在片外设置多播核簇的方式,可实现片间数据的并行传输,进一步提高片间数据传输效率。

可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

在一种可能的实现方式中,如图2所示,提供了一种处理器系统,所述处理器系统包括多个芯片,每个芯片包括多个功能核,位于相同芯片内的功能核之间的数据传输速度高于位于不同芯片的功能核之间的数据传输速度,其中,每个芯片的所述多个功能核根据任务不同划分为多个核簇,在由第一芯片向第二芯片传输数据的情况下,所述第一芯片包括用于执行计算任务的计算核簇,以及用于执行数据缓存及传输任务的缓存核簇,所述第二芯片包括用于执行数据接收任务的接收核簇,所述第一芯片和所述第二芯片为所述处理器系统的任意两个芯片,其中,所述第一芯片被配置为:

在第一工作周期中,所述计算核簇将计算结果数据传输到所述缓存核簇,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇;在第二工作周期中,所述计算核簇执行计算任务,所述缓存核簇将所述计算结果数据的第二数据传输到所述接收核簇,所述第二数据包括所述计算结果数据中、除所述第一数据之外的数据。

在一种可能的实现方式中,在所述第一工作周期中,所述计算核簇、所述缓存核簇及所述接收核簇之间时序同步;在所述第二工作周期中,所述计算核簇与所述缓存核簇及所述接收核簇之间时序异步,所述缓存核簇与所述接收核簇之间时序同步。

在一种可能的实现方式中,在第一工作周期中,所述计算核簇将计算结果数据传输到所述缓存核簇,包括:在所述计算结果数据传输完成的情况下,所述第一工作周期结束。

在一种可能的实现方式中,所述处理器系统的不同芯片之间通过串行方式传输数据,其中,在第一工作周期中,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇,包括:所述缓存核簇中的第一功能核将所述第一数据的第一子数据传输到所述接收核簇;所述缓存核簇中的第二功能核将所述第一数据的第二子数据传输到第三芯片的多播核簇,以使所述多播核簇将所述第二子数据传输到所述接收核簇,其中,所述第三芯片为所述处理器系统中、除所述第一芯片和所述第二芯片之外的至少一个芯片。

在一种可能的实现方式中,在第二工作周期中,所述缓存核簇将所述计算结果数据的第二数据传输到所述接收核簇,包括:所述缓存核簇中的第一功能核将所述第二数据的第三子数据传输到所述接收核簇;所述缓存核簇中的第二功能核将所述第二数据的第四子数据传输到所述第三芯片的多播核簇,以使所述多播核簇将所述第四子数据传输到所述接收核簇。

在一种可能的实现方式中,所述系统还包括:在第一工作周期中,所述第三芯片的多播核簇将所述第二子数据传输到所述第二芯片的接收核簇;在第二工作周期中,所述第三芯片的多播核簇将所述第四子数据传输到所述第二芯片的接收核簇。

在一种可能的实现方式中,所述第一工作周期包括N个第一子周期,N为大于1的整数,其中,在第一工作周期中,所述缓存核簇将所述计算结果数据的第一数据传输到所述接收核簇,包括:在第1个第一子周期中,所述缓存核簇不向所述接收核簇传输数据;在第2个第一子周期至第N个第一子周期中,所述缓存核簇向所述接收核簇传输所述第一数据。

根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。

根据本公开的另一方面,提供了一种电子设备,所述电子设备包括上述的处理器系统。

图9示出根据本公开实施例的一种电子设备1200的框图。如图9中所示,该电子设备1200包括计算处理装置1202(例如,上述包括多个人工智能芯片的处理器系统)、接口装置1204、其他处理装置1206和存储装置1208。根据不同的应用场景,计算处理装置中可以包括一个或多个计算装置1210(例如,人工智能芯片,其中,每个芯片可包括多个功能核)。

在一种可能的实现方式中,本公开的计算处理装置可以配置成执行用户指定的操作。在示例性的应用中,该计算处理装置可以实现为单芯片人工智能处理器或者多芯片人工智能处理器。类似地,包括在计算处理装置内的一个或多个计算装置可以实现为人工智能芯片或者人工智能芯片的部分硬件结构。当多个计算装置实现为人工智能芯片或人工智能芯片的部分硬件结构时,就本公开的计算处理装置而言,其可以视为具有单芯片结构或者同构多芯片结构。

在示例性的操作中,本公开的计算处理装置可以通过接口装置与其他处理装置进行交互,以共同完成用户指定的操作。根据实现方式的不同,本公开的其他处理装置可以包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics ProcessingUnit,GPU)、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器。这些处理器可以包括但不限于数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,并且其数目可以根据实际需要来确定。如前所述,仅就本公开的计算处理装置而言,其可以视为具有单核结构或者同构多核结构。然而,当将计算处理装置和其他处理装置共同考虑时,二者可以视为形成异构多核结构。

在一个或多个实施例中,该其他处理装置可以作为本公开的计算处理装置(其可以具体化为人工智能例如神经网络计算的相关计算装置)与外部数据和控制的接口,执行包括但不限于数据搬运、对计算装置的开启和/或停止等基本控制。在另外的实施例中,其他处理装置也可以和该计算处理装置协作以共同完成计算任务。

在一个或多个实施例中,该接口装置可以用于在计算处理装置与其他处理装置间传输数据和控制指令。例如,该计算处理装置可以经由所述接口装置从其他处理装置中获取输入数据,写入该计算处理装置片上的存储装置(或称存储器)。进一步,该计算处理装置可以经由所述接口装置从其他处理装置中获取控制指令,写入计算处理装置片上的控制缓存中。替代地或可选地,接口装置也可以读取计算处理装置的存储装置中的数据并传输给其他处理装置。

附加地或可选地,本公开的电子设备还可以包括存储装置。如图中所示,该存储装置分别与所述计算处理装置和所述其他处理装置连接。在一个或多个实施例中,存储装置可以用于保存所述计算处理装置和/或所述其他处理装置的数据。例如,该数据可以是在计算处理装置或其他处理装置的内部或片上存储装置中无法全部保存的数据。

根据不同的应用场景,本公开的人工智能芯片可用于服务器、云端服务器、服务器集群、数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、PC设备、物联网终端、移动终端、手机、行车记录仪、导航仪、传感器、摄像头、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、视觉终端、自动驾驶终端、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。

图10示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图10,电子设备1900包括处理组件1922(例如,包括多个功能核的处理器系统),其进一步包括一个或多个功能核,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。

电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

在本公开中,作为分离部件说明的空间可以是或者也可以不是物理上分开的,作为空间示出的部件可以是或者也可以不是物理空间。前述部件或空间可以位于同一位置或者分布到多个网络空间上。另外,根据实际的需要,可以选择其中的部分或者全部空间来实现本公开实施例所述方案的目的。另外,在一些场景中,本公开实施例中的多个空间可以集成于一个空间中或者各个空间物理上单独存在。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

本公开的电子设备或处理器还可以被应用于互联网、物联网、数据中心、能源、交通、公共管理、制造、教育、电网、电信、金融、零售、工地、医疗等领域。进一步,本公开的电子设备或处理器还可以用于云端、边缘端、终端等与人工智能、大数据和/或云计算相关的应用场景中。在一个或多个实施例中,根据本公开方案的算力高的电子设备或处理器可以应用于云端设备(例如云端服务器),而功耗小的电子设备或处理器可以应用于终端设备和/或边缘端设备(例如智能手机或摄像头)。在一个或多个实施例中,云端设备的硬件信息和终端设备和/或边缘端设备的硬件信息相互兼容,从而可以根据终端设备和/或边缘端设备的硬件信息,从云端设备的硬件资源中匹配出合适的硬件资源来模拟终端设备和/或边缘端设备的硬件资源,以便完成端云一体或云边端一体的统一管理、调度和协同工作。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于Tsi721的RapidIO动态枚举过程的实现方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!