一种具有异构处理器的众核架构及其数据处理方法

文档序号:7240 发布日期:2021-09-17 浏览:49次 英文

一种具有异构处理器的众核架构及其数据处理方法

技术领域

本发明涉及众核架构

技术领域

,具体而言,涉及一种具有异构处理器的众核架构及其数据处理方法。

背景技术

目前AI芯片大多采用同构式的设计,即每个处理器核的结构是一样的。这就使得为了控制芯片的面积和功耗而将每个处理器的功能设置的很简单,缺乏很多简单的逻辑判断和控制机制,以至于很多新型的算法和模型得不到支持。一旦遇到复杂运算时则需要设计专门的电路,或是通过片外CPU来处理,运算效率低、能耗较高。

发明内容

为解决上述问题,本发明的目的在于提供一种具有异构处理器的众核架构及其数据处理方法,在众核阵列中增加集成FPGA的处理核、集成DSP的处理核,实现具有异构处理器的众核架构,使众核阵列能处理各种复杂逻辑控制和复杂科学计算,提高运算效率,降低能耗。

本发明提供了一种具有异构处理器的众核架构,包括:众核阵列,所述众核阵列包括多个计算核和至少一个与所述多个计算核功能不同的处理核,所述处理核与所述多个计算核设置同步时钟,所述处理核与其相邻的计算核通过核间路由进行通信。

作为本发明进一步的改进,所述众核阵列包括:

多个计算核;以及,

至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核。

作为本发明进一步的改进,所述众核阵列为二维矩阵网络,至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核设置于所述众核阵列的边角处,所述集成FPGA的处理核和/或所述集成DSP的处理核通过两条核间路由路径与其相邻的两个计算核进行通信。

作为本发明进一步的改进,所述众核阵列为二维矩阵网络,至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核设置于所述众核阵列的内部,所述集成FPGA的处理核和/或所述集成DSP的处理核通过四条核间路由路径与其相邻的四个计算核进行通信。

作为本发明进一步的改进,所述众核阵列为二维矩阵网络,至少一个集成DSP的处理核设置于所述众核阵列的边角处,所述集成DSP的处理核通过两条核间路由路径与其相邻的两个计算核进行通信,且至少一个集成FPGA的处理核设置于所述众核阵列的内部,所述集成FPGA的处理核通过四条核间路由路径与其相邻的四个计算核进行通信。

作为本发明进一步的改进,所述众核阵列为二维矩阵网络,至少一个集成FPGA的处理核设置于所述众核阵列的边角处,所述集成FPGA的处理核通过两条核间路由路径与其相邻的两个计算核进行通信,且至少一个集成DSP的处理核设置于所述众核阵列的内部,所述集成DSP的处理核四条核间路由路径与其相邻的四个计算核进行通信。

作为本发明进一步的改进,所述集成FPGA的处理核用于处理所述计算核无法处理的运算,进行逻辑控制和判断指令的处理,所述集成DSP的处理核用于处理所述计算核无法处理的运算,进行非定制运算的处理。

本发明还提供了一种具有异构处理器的众核架构的数据处理方法,采用所述的一种具有异构处理器的众核架构,所述数据处理方法包括:当前计算核的运算数据通过核间路由从当前计算核传输至至少一个与计算核功能不同的处理核进行计算。

作为本发明进一步的改进,当前计算核的运算数据通过核间路由从当前计算核传输至至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核中进行运算。

作为本发明进一步的改进,单个运算任务被切分成若干子运算任务,所述若干子运算任务被分配至所述多个计算核、至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核中并行处理,在同一时刻,所述多个计算核、所述集成FPGA的处理核和/或所述集成DSP的处理核并行处理各自的子运算任务。

作为本发明进一步的改进,所述集成FPGA的处理核和/或所述集成DSP的处理核所对应的子运算任务的运算数据通过核间路由从当前计算核传输至所述集成FPGA的处理核和/或所述集成DSP的处理核进行运算。

作为本发明进一步的改进,通过核间路由寻找距离当前单个子运算任务对应运算数据所在计算核最近的集成FPGA的处理核或集成DSP的处理核,并将运算数据传输至该集成FPGA的处理核或集成DSP的处理核进行运算,该集成FPGA的处理核或集成DSP的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算。

作为本发明进一步的改进,通过核间路由分别寻找距离当前多个子运算任务对应运算数据所在计算核最近的集成FPGA的处理核和/或集成DSP的处理核,并将运算数据分别传输至各集成FPGA的处理核和/或各集成DSP的处理核中进行运算,各集成FPGA的处理核和/或各集成DSP的处理核运算完毕后,分别将运算结果通过核间路由传输至下一个计算核继续运算。

作为本发明进一步的改进,所述计算核无法处理的运算数据包括逻辑控制和判断指令的运算数据,通过核间路由从当前计算核传输至所述集成FPGA的处理核进行运算;所述计算核无法处理的运算数据包括非定制运算数据,通过核间路由从当前计算核传输至所述集成DSP的处理核进行运算。

本发明还提供了一种众核芯片,采用所述的一种具有异构处理器的众核架构。

本发明还提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现所述的一种具有异构处理器的众核架构的数据处理方法。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现所述的一种具有异构处理器的众核架构的数据处理方法。

本发明的有益效果为:

无需修改现有片上网络结构,只需增加节点的类型即可支持新增的处理核类型,实现具有异构处理器的众核架构。在众核阵列中集成FPGA的处理核、集成DSP的处理核,使众核阵列能处理各种复杂逻辑控制和复杂科学计算,可大大节省传输带宽,降低能耗,提高运算效率,加速神经网络的推理/训练流程。同时,无需片内处理器的指令调度,可以形成流水式数据处理模式,降低处理延迟,提升处理效率。同时,利用FPGA和DSP的可编程特性,可以根据计算、逻辑和调度等需要进行重新编译,相对于现有的纯计算核众核架构来说,灵活度更高。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本公开实施例所述的一种具有异构处理器的众核架构的示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

需要说明,若本公开实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本公开的描述中,所用术语仅用于说明目的,并非旨在限制本公开的范围。术语“包括”和/或“包含”用于指定所述元件、步骤、操作和/或组件的存在,但并不排除存在或添加一个或多个其他元件、步骤、操作和/或组件的情况。术语“第一”、“第二”等可能用于描述各种元件,不代表顺序,且不对这些元件起限定作用。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个及两个以上。这些术语仅用于区分一个元素和另一个元素。结合以下附图,这些和/或其他方面变得显而易见,并且,本领域普通技术人员更容易理解关于本公开所述实施例的说明。附图仅出于说明的目的用来描绘本公开所述实施例。本领域技术人员将很容易地从以下说明中认识到,在不背离本公开所述原理的情况下,可以采用本公开所示结构和方法的替代实施例。

目前AI芯片大多采用同构式的设计,即每个处理器核的结构是一样的。这就使得为了控制芯片的面积和功耗而将每个处理器的功能设置的很简单,缺乏很多简单的逻辑判断和控制机制,以至于很多新型的算法和模型得不到支持。一旦遇到复杂运算时则需要设计专门的电路,或是通过片外CPU来处理。如果设计专门的电路,会导致芯片的后期优化不灵活,且耽误开发时间。通过片外CPU来处理会打断原先设计好的流水并行处理,造成性能下降。

本公开实施例的一种具有异构处理器的众核架构,包括:众核阵列,众核阵列包括多个计算核和至少一个与多个计算核功能不同的处理核,处理核与多个计算核设置同步时钟,处理核与其相邻的计算核通过核间路由进行通信。

在一种可实现的实施方式中,众核阵列包括:

多个计算核,以及

至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核。

本公开实施例所述的一种具有异构处理器的众核架构,无需修改现有片上网络结构,只需在现有的片上网络结构中增加节点的类型即可支持新增的处理核类型,实现具有异构处理器的众核架构。新增的处理核(集成FPGA的处理核、集成DSP的处理核)可以当做普通计算核使用,因此无需修改上层已经调通的软件和各种应用。增加的异构处理器可以同时支持各种运算,包括逻辑控制和判断指令的运算以及非定制运算等,其中,非定制运算可以是指计算核支持的运算以外的任意运算,这样,可以使得众核芯片能支持多种算法和模型。当遇到复杂运算时,调用集成DSP的处理核来完成相应非定制运算,设计多个集成DSP的处理核时可以支持多种小网络同时进行非定制运算。当遇到复杂逻辑控制运算时,调用集成FPGA的处理核来完成相应运算,设计多个集成FPGA的处理核时可以支持多种小网络同时进行逻辑控制。当原有的计算核进行运算时,无需通过片上CPU对FPGA和/或DSP进行调度,保持了数据的并行流水处理,从而降低处理延迟,提升处理效率。本公开新增集成FPGA的处理核和集成DSP的处理核,利用FPGA和DSP的可编程特性,可以根据计算、逻辑和调度等需要进行重新编译,相对于现有的纯计算核众核架构来说,灵活度更高。

在一种可实现的实施方式中,计算核包括AI计算单元、存储单元和路由,集成FPGA的处理核包括FPGA计算单元、存储单元和路由,集成DSP的处理核包括DSP计算单元、存储单元和路由。计算核、集成FPGA的处理核、集成DSP的处理核的存储单元和路由配置相同。例如,计算核、集成FPGA的处理核、集成DSP的处理核的存储单元的存储容量可以相同。将计算核、集成FPGA的处理核、集成DSP的处理核设计成同等定位的模块进行集成,拥有相同的时序控制和通信模式,形成类同构的二维网格的阵列集成架构。

在一种可实现的实施方式中,计算核、集成FPGA的处理核、集成DSP的处理核的存储单元的存储容量可以不同或者不完全相同,例如,可以是各核(包括计算核、集成FPGA的处理核以及集成DSP的处理核)的存储单元的存储容量皆不同,也可以是各核的存储容量不完全相同,本公开对计算核、集成FPGA的处理核、集成DSP的处理核的存储单元的存储容量大小、是否相同不做限制。

众核阵列一般可以为二维矩阵网络、二维环形网络、二维星形网络或三维层级网络等。对于众核阵列网络结构的选取可以根据芯片的功能和需求等进行选择设计。而集成FPGA的处理核、集成DSP的处理核这两种处理核的数量可以根据芯片的功能和需求等进行适应性设计。比如当逻辑控制和判断指令等的处理量较小时,可以在片内众核阵列中设置一个集成FPGA的处理核,而当逻辑控制和判断指令等的处理量大时,则可以适当增加集成FPGA的处理核的数量。同样,当非定制运算的处理量较小时,可以在片内众核阵列中设置一个集成DSP的处理核,而当非定制运算的处理量较大时,可以适当增加集成DSP的处理核的数量。

如前所述,非定制运算可以是指计算核支持的运算以外的任意运算,例如可以包括但不限于sin、cos、log、指数等等各类运算。举例来说,当普通计算核固化或定制的运算包括浮点、整数运算时,未固化或定制sin、cos、log、指数等运算时,sin、cos、log、指数等运算为非定制运算,可由集成DSP的处理核处理。

例如在人脸识别时,存在获取的图片中人脸的位置不同、拍摄角度不同等情况,从而可能使得在数据处理过程中,选择的图片的感兴趣区域(region of interest,ROI)不同、ROI区域的大小不同。在数据的处理过程中,可能会出现数据是动态变化的情况,从而出现计算核无法处理的非定制的运算。现有技术中只能将这些数据传输至CPU来处理,而本公开可以直接将这些非定制运算在片内通过集成DSP的处理核来处理。另外,在一个众核阵列中设计多个集成FPGA的处理核和/或多个集成DSP的处理核,使得众核阵列可以支持多个小网络的同时运算,提高芯片的整体运算速度。

在一种优选的实施方式中,将众核阵列设计为二维方形网络,对称结构的设计使数据的传输、处理和芯片功耗散热等更为优化,提高芯片整体的性能。

至于集成FPGA的处理核和集成DSP的处理核在众核阵列中的位置,可以根据运算数据指定输入的计算核的位置来确定它们的最佳位置,以实现快速寻找到距离该计算核最近的集成FPGA的处理核和/或集成DSP的处理核,从而提高芯片的整体运算速率。

在一种可实现的实施方式中,众核阵列为二维矩阵网络,至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核设置于众核阵列的边角处,集成FPGA的处理核和/或集成DSP的处理核通过两条核间路由路径与其相邻的两个计算核进行通信。例如,可以在众核阵列的一个边角处设置一个集成FPGA的处理核或一个集成DSP的处理核。也可以在众核阵列的多个边角处设置多个集成FPGA的处理核或多个集成DSP的处理核。也可以在众核阵列的多个边角处分别设置一个集成FPGA的处理核和一个集成DSP的处理核。也可以在众核阵列的多个边角处分别设置一个集成FPGA的处理核和多个集成DSP的处理核。也可以在众核阵列的多个边角处分别设置多个集成FPGA的处理核和一个集成DSP的处理核。还可以在众核阵列的多个边角处分别设置多个集成FPGA的处理核和多个集成DSP的处理核。每增加一个集成FPGA的处理核,能相应的增加芯片逻辑控制和判断指令等的处理能力,每增加一个集成DSP的处理核,能相应的增加芯片非定制运算等的处理能力,提高运算效率。但在具体设计时,需要综合考虑芯片的面积、功能和能耗等,对集成FPGA的处理核和集成DSP的处理核的数量及位置进行适应性的设计。

在一种可实现的实施方式中,众核阵列为二维矩阵网络,至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核设置于众核阵列的内部,集成FPGA的处理核和/或集成DSP的处理核通过四条核间路由路径与其相邻的四个计算核进行通信。例如,可以在众核阵列的内部设置一个集成FPGA的处理核或一个集成DSP的处理核。也可以在众核阵列的内部设置多个集成FPGA的处理核或多个集成DSP的处理核。也可以在众核阵列的内部分别设置一个集成FPGA的处理核和一个集成DSP的处理核。也可以在众核阵列的内部分别设置一个集成FPGA的处理核和多个集成DSP的处理核。也可以在众核阵列的内部分别设置多个集成FPGA的处理核和一个集成DSP的处理核。还可以在众核阵列的内部分别设置多个集成FPGA的处理核和多个集成DSP的处理核。同上述实施方式,更多的处理核提高了芯片的复杂运算处理能力,但在具体设计时,需要综合考虑芯片的面积、功能和能耗等,对处理核的数量和位置进行适应性的设计。

在一种可实现的实施方式中,可以将多个集成FPGA的处理核或多个集成DSP的处理核设置于众核阵列内部的对角线上。这种处理核对称于众核阵列内部对角线的方式尤其适用于二维方形网络。例如,对于二维4*4的网络,可以在众核阵列的第二行第二列和第三行第三列各设置一个集成FPGA的处理核或各设置一个集成DSP的处理核。也可以在众核阵列的第二行第三列和第三行第二列各设置一个集成FPGA的处理核或各设置一个集成DSP的处理核。也可以在众核阵列的第二行第二列、第二行第三列、第三行第二列和第三行第三列都设置一个集成FPGA的处理核或都设置一个集成DSP的处理核,这种模式一般针对逻辑控制和判断指令或非定制运算处理量大的情形。还可以在众核阵列的第二行第三列和第三行第二列各设置一个集成FPGA的处理核,在众核阵列的第二行第三列和第三行第二列各设置一个集成DSP的处理核。同上述实施方式,更多的处理核提高了数据的复杂运算处理能力,但具体设计时,需要综合考虑芯片的面积、功能和能耗等,对处理核的数量和位置进行适应性的设计。

在一种可实现的实施方式中,众核阵列为二维矩阵网络,至少一个集成DSP的处理核设置于众核阵列的边角处,集成DSP的处理核通过两条核间路由路径与其相邻的两个计算核进行通信,且至少一个集成FPGA的处理核设置于众核阵列的内部,集成FPGA的处理核通过四条核间路由路径与其相邻的四个计算核进行通信。例如,可以在众核阵列的一个边角处设置一个集成DSP的处理核,在众核阵列内部设置一个集成FPGA的处理核。也可以在众核阵列的多个边角处各设置一个集成DSP的处理核,在众核阵列内部设置一个集成FPGA的处理核。也可以在众核阵列的一个边角处设置一个集成DSP的处理核,在众核阵列内部设置多个集成FPGA的处理核。还可以在众核阵列的多个边角处各设置一个集成DSP的处理核,在众核阵列内部设置多个集成FPGA的处理核。同上述实施方式,集成FPGA和集成DSP这两种处理核的位置和数量根据芯片所需的逻辑控制和判断指令运算以及非定制运算处理量来设计,同时需要综合考虑芯片的面积、功能和能耗等。图1示出了本公开实施例所述的一种具有异构处理器的众核架构的一个示例,在一个4*4的二维网络中,在四个边角处分别设置一个集成DSP的处理核,在第二行第二列和第三行第三列各设置一个集成FPGA的处理核。

在一种可实现的实施方式中,众核阵列为二维矩阵网络,至少一个集成FPGA的处理核设置于众核阵列的边角处,集成FPGA的处理核通过两条核间路由路径与其相邻的两个计算核进行通信,且至少一个集成DSP的处理核设置于众核阵列的内部,集成DSP的处理核四条核间路由路径与其相邻的四个计算核进行通信。例如,可以在众核阵列的一个边角处设置一个集成FPGA的处理核,在众核阵列内部设置一个集成DSP的处理核。也可以在众核阵列的多个边角处各设置一个集成FPGA的处理核,在众核阵列内部设置一个集成DSP的处理核。也可以在众核阵列的一个边角处设置一个集成FPGA的处理核,在众核阵列内部设置多个集成DSP的处理核。还可以在众核阵列的多个边角处各设置一个集成FPGA的处理核,在众核阵列内部设置多个集成DSP的处理核。同上述实施方式,集成FPGA和集成DSP这两种处理核的位置和数量根据所需的逻辑控制和判断指令以及非定制运算处理量来设计,同时需要综合考虑芯片的面积、功能和能耗等。

上述实施方式中的集成FPGA的处理核可以作为普通计算核使用,也可以用于处理复杂的运算数据,包括计算核无法处理的运算数据,例如逻辑控制和判断指令的运算数据等,集成DSP的处理核可以作为普通计算核使用,也可以用于处理复杂的运算数据,包括计算核无法处理的运算数据,例如非定制运算数据等。

本公开实施例所述的一种具有异构处理器的众核架构的数据处理方法,采用所述一种具有异构处理器的众核架构,数据处理方法包括:当前计算核的运算数据通过核间路由从当前计算核传输至至少一个与该计算核功能不同的处理核进行计算。

在一种可实现的实施方式中,与计算核功能不同的处理核可以设计为集成FPGA的处理核和/或集成DSP的处理核。此时,数据处理方法包括:当前计算核的运算数据通过核间路由从当前计算核传输至至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核中进行运算。

在一种可实现的实施方式中,本公开实施例所述的一种具有异构处理器的众核架构保持数据的并行流水处理,单个运算任务被切分成若干子运算任务,若干子运算任务被分配至多个计算核、至少一个集成FPGA的处理核和/或至少一个集成DSP的处理核中并行处理,在同一时刻,多个计算核并行处理各自的子运算任务。可以理解为,单个运算任务被分成若干子运算任务,每个计算核和处理核都只处理各自对应的子运算任务,若干子运算任务被各个计算核和处理核同时处理,使得在这种处理模式下,众核间的数据传输和运行不需要片上CPU的干预和调度,降低了处理延迟,提升了处理效率。

在一种可实现的实施方式中,单个运算任务被切分成子运算任务后,子运算任务的运算数据从计算核传输至各处理核。集成FPGA的处理核和/或集成DSP的处理核所对应的子运算任务的运算数据通过核间路由从当前计算核传输至集成FPGA的处理核和/或集成DSP的处理核进行运算。

在一种可实现的实施方式中,可以将集成FPGA的处理核用于处理逻辑控制和判断指令等,将集成DSP的处理核用于处理非定制运算等。多个计算核无法处理的逻辑控制和判断指令的运算数据通过核间路由从当前计算核传输至集成FPGA的处理核进行运算,多个计算核无法处理的非定制运算数据通过核间路由传输至集成DSP的处理核进行运算。

在一种可实现的实施方式中,当众核阵列包括多个处理核,如果当前计算核遇到一个不支持的子运算任务(例如可以为逻辑控制和判断指令或非定制运算),此时,可以通过核间路由寻找距离当前单个子运算任务对应运算数据所在计算核最近的集成FPGA的处理核或集成DSP的处理核,并将运算数据传输至该集成FPGA的处理核或集成DSP的处理核进行运算,该集成FPGA的处理核或集成DSP的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算。通过快速寻找距离该计算核最近的集成FPGA的处理核或集成DSP的处理核,提高了芯片的整体运算速率。

在一种可实现的实施方式中,在众核阵列中,只有单个逻辑控制和判断指令子运算任务或单个非定制子运算任务时:通过核间路由寻找距离当前单个逻辑控制和判断指令子运算任务对应逻辑控制和判断指令的运算数据所在计算核最近的集成FPGA的处理核,并将逻辑控制和判断指令的运算数据传输至该集成FPGA的处理核中进行逻辑控制和判断指令的运算,该集成FPGA的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算;或通过核间路由寻找距离当前单个非定制子运算任务对应非定制运算数据所在计算核最近的集成DSP的处理核,并将非定制运算数据传输至该集成DSP的处理核中进行非定制运算,该集成DSP的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算。

在一种可实现的实施方式中,当众核阵列包括多个处理核,如果当前计算核遇到多个不支持的子运算任务(例如可以为一个逻辑控制和判断指令子运算和一个非定制子运算、一个逻辑控制和判断指令子运算和多个非定制子运算、多个逻辑控制和判断指令子运算和一个非定制子运算、多个逻辑控制和判断指令子运算和多个非定制子运算),此时,可以通过核间路由分别寻找距离当前多个子运算任务对应运算数据所在计算核最近的集成FPGA的处理核和/或集成DSP的处理核,并将运算数据分别传输至各集成FPGA的处理核和/或各集成DSP的处理核中进行运算,各集成FPGA的处理核和/或各集成DSP的处理核运算完毕后,分别将运算结果通过核间路由传输至下一个计算核继续运算。

在一种可实现的实施方式中,在众核阵列中,有单个逻辑控制和判断指令子运算任务和单个非定制子运算任务时:通过核间路由寻找距离当前单个逻控制和辑判断指令子运算任务对应逻辑控制和判断指令的运算数据所在计算核最近的集成FPGA的处理核,并将逻辑控制和判断指令的运算数据传输至该集成FPGA的处理核中进行逻辑控制和判断指令的运算,该集成FPGA的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算;并通过核间路由寻找距离当前单个非定制子运算任务对应非定制运算数据所在计算核最近的集成DSP的处理核,并将非定制运算数据传输至该集成DSP的处理核中进行非定制运算,该集成DSP的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算。

在一种可实现的实施方式中,在众核阵列中,有单个逻辑控制和判断指令子运算任务和多个非定制子运算任务时:通过核间路由寻找距离当前单个逻辑控制和判断指令子运算任务对应逻辑控制和判断指令的运算数据所在计算核最近的集成FPGA的处理核,并将逻辑控制和判断指令的运算数据传输至该集成FPGA的处理核中进行逻辑控制和判断指令的运算,该集成FPGA的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算;并通过核间路由寻找距离当前多个非定制子运算任务对应非定制运算数据所在计算核最近的多个集成DSP的处理核,并将非定制运算数据传输至各集成DSP的处理核中进行非定制运算,各集成DSP的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算。

在一种可实现的实施方式中,在众核阵列中,有多个逻辑控制和判断指令子运算任务和单个非定制子运算任务时:通过核间路由分别寻找距离当前多个逻辑控制和判断指令子运算任务对应逻辑控制和判断指令的运算数据所在计算核最近的多个集成FPGA的处理核,并将逻辑控制和判断指令的运算数据分别传输至各集成FPGA的处理核中进行逻辑控制和判断指令的运算,各集成FPGA的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算;并通过核间路由寻找距离当前单个非定制子运算任务对应非定制运算数据所在计算核最近的集成DSP的处理核,并将非定制运算数据传输至该集成DSP的处理核中进行非定制运算,该集成DSP的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算。

在一种可实现的实施方式中,在众核阵列中,有多个逻辑控制和判断指令子运算任务和多个非定制子运算任务时:通过核间路由分别寻找距离当前多个逻辑控制和判断指令子运算任务对应逻辑控制和判断指令的运算数据所在计算核最近的多个集成FPGA的处理核,并将逻辑控制和判断指令的运算数据分别传输至各集成FPGA的处理核中进行逻辑控制和判断指令的运算,各集成FPGA的处理核运算完毕后,分别将运算结果通过核间路由传输至下一个计算核继续运算;并通过核间路由分别寻找距离当前多个非定制子运算任务对应非定制运算数据所在计算核最近的多个集成DSP的处理核,并将非定制运算数据分别传输至各集成DSP的处理核中进行非定制运算,各集成DSP的处理核运算完毕后,将运算结果通过核间路由传输至下一个计算核继续运算。

本公开还涉及一种众核芯片,采用本公开实施方式所述的一种具有异构处理器的众核架构。这种众核芯片利用了FPGA的复杂逻辑控制和判断指令处理和DSP的科学计算处理优势,在不改变现有片上网络结构的前提下,只需增加节点的类型,使得芯片在实现普通AI计算的同时还能支持各种复杂逻辑控制和复杂运算。将FPGA和DSP集成于众核阵列中,通过AI计算核阵列的片间路由进行对外的通信,减少芯片能耗。所述的众核芯片可以应用于人工智能领域,通过在AI计算阵列中增加异构核,可处理AI计算核所不能处理或低效处理的算法、逻辑控制及判断指令、非定制运算等,可大大节省传输带宽,降低能耗,提高运算效率,加速神经网络的推理/训练流程。

本公开还涉及一种电子设备,包括服务器、终端等。该电子设备包括:至少一个处理器;与至少一个处理器通信连接的存储器;以及与存储介质通信连接的通信组件,所述通信组件在处理器的控制下接收和发送数据;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行以实现上述实施例中的具有异构处理器的众核架构的数据处理方法。

在一种可选的实施方式中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述具有异构处理器的众核架构的数据处理方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器中,当被一个或者多个处理器执行时,执行上述任意方法实施例中的具有异构处理器的众核架构的数据处理方法。

上述产品可执行本申请实施例所提供的具有异构处理器的众核架构的数据处理方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的具有异构处理器的众核架构的数据处理方法。

本公开还涉及一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的具有异构处理器的众核架构的数据处理方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

此外,本领域普通技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本领域技术人员应理解,尽管已经参考示例性实施例描述了本发明,但是在不脱离本发明的范围的情况下,可进行各种改变并可用等同物替换其元件。另外,在不脱离本发明的实质范围的情况下,可进行许多修改以使特定情况或材料适应本发明的教导。因此,本发明不限于所公开的特定实施例,而是本发明将包括落入所附权利要求范围内的所有实施例。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种基于异步单轨的流水线处理器

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!