掌桥专利:专业的专利平台
掌桥专利
首页

基于向量处理器的数据规约方法、装置、设备及存储介质

文献发布时间:2024-01-17 01:23:59


基于向量处理器的数据规约方法、装置、设备及存储介质

技术领域

本发明涉及数据处理技术领域,更具体地说,涉及一种基于向量处理器的数据规约方法、装置、设备及存储介质。

背景技术

通用多核DSP(Digital Signal Processing,数字信号处理)向量处理器上,一共有N个不同的DSP核,每个DSP核中具有一个片上向量存储空间AM(Array Memory,阵列存储器),多个DSP核共享一个全局共享空间GSM(Global Shared Memory)。在传统方案中,DSP向量处理器上的多个核之间进行片上数据规约时,需要将规约的两段数据全部加载到单核的AM空间,然后开始进行规约计算,但是,若这两段数据所占存储空间总和超过每个核上的片上存储空间时,通常需要进行多次数据加载,规约效率较低。

因此,如何提高多核DSP向量处理器的规约效率,是本领域技术人员需要解决的问题。

发明内容

本发明的目的在于提供一种基于向量处理器的数据规约方法、装置、设备及存储介质,以提高多核DSP向量处理器的规约效率。

为实现上述目的,本发明提供一种基于向量处理器的数据规约方法,包括:

确定每次规约操作中待搬移数据的第一DSP核;

在执行每次规约操作时,将每个第一DSP核的待规约数据搬移至全局共享空间,并将所述全局共享空间中的待规约数据,划分为与执行规约操作的第二DSP核具有一一对应关系的多个子数据;

将所述全局共享空间中与同一个第二DSP核具有一一对应关系的多个子数据,搬移至同一个第二DSP核,以便每个第二DSP核并行对存储的多个子数据执行规约操作,得到规约结果数据;

将所有规约结果数据搬移至所述全局共享空间,并作为下一次规约操作的待规约数据,继续执行下一次规约操作。

可选地,所述确定每次规约操作中待搬移数据的第一DSP核,包括:

根据所述全局共享空间的第一容量及每个DSP核的片上向量存储空间的第二容量,计算出最大数量;其中,所述全局共享空间最多存放所述最大数量个DSP核的待规约数据;

根据参与规约操作的DSP核的总数量及所述最大数量,确定每次规约操作中待搬移数据的第一DSP核的数量,以及规约操作的总执行次数。

可选地,所述根据参与规约操作的DSP核的总数量及所述最大数量,确定每次规约操作中待搬移数据的第一DSP核的数量,以及规约操作的总执行次数,包括:

将所述最大数量作为首次规约操作中待搬移数据的第一DSP核的第一数量;

计算参与规约操作的DSP核的总数量与所述第一数量的差值;

判断所述差值是否大于所述最大数量减一后得到的数量;

若是,则将所述最大数量减一后得到的数量,作为中间次规约操作中待搬移数据的第一DSP核的第二数量,并将所述差值及所述第二数量的商值作为中间次规约操作的执行次数,将所述差值及所述第二数量的余数作为最后一次规约操作中待搬移数据的第一DSP核的第三数量;

若否,则将所述差值作为最后一次规约操作中待搬移数据的第三数量;

将首次规约操作、中间次规约操作及最后一次规约操作的总次数作为规约操作的总执行次数。

可选地,所述根据参与规约操作的DSP核的总数量及所述最大数量,确定每次规约操作中待搬移数据的第一DSP核的数量,以及规约操作的总执行次数之后,还包括:确定每次规约操作中执行规约操作的第二DSP核的数量。

可选地,所述确定每次规约操作中执行规约操作的第二DSP核的数量,包括:将所述最大数量作为每次规约操作中执行规约操作的第二DSP核的数量。

可选地,所述确定每次规约操作中执行规约操作的第二DSP核的数量,包括:根据空闲DSP核的数量,确定每次规约操作中执行规约操作的第二DSP核的数量;所述空闲DSP核为未存储待规约数据的DSP核。

可选地,所述确定每次参与规约操作的DSP核的目标数量之前,还包括:

根据参与规约操作的DSP核的总数量,以及每个DSP核的片上向量存储空间的第二容量计算总容量;

判断所述总容量是否大于所述全局共享空间的第一容量;

若是,则继续执行确定每次参与规约操作的DSP核的目标数量的步骤。

为实现上述目的,本发明进一步提供一种基于向量处理器的数据规约装置,包括:

确定模块,用于确定每次规约操作中待搬移数据的第一DSP核;

第一搬移模块,用于在执行每次规约操作时,将每个第一DSP核的待规约数据搬移至全局共享空间;

划分模块,用于将所述全局共享空间中的待规约数据,划分为与执行规约操作的第二DSP核具有一一对应关系的多个子数据;

第二搬移模块,用于将所述全局共享空间中与同一个第二DSP核具有一一对应关系的多个子数据,搬移至同一个第二DSP核,以便每个第二DSP核并行对存储的多个子数据执行规约操作,得到规约结果数据;

第三搬移模块,用于将所有规约结果数据搬移至所述全局共享空间,并作为下一次规约操作的待规约数据,继续执行下一次规约操作。

为实现上述目的,本发明进一步提供一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述基于向量处理器的数据规约方法的步骤。

为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于向量处理器的数据规约方法的步骤。

通过以上方案可知,本发明实施例提供的一种基于向量处理器的数据规约方法、装置、设备及存储介质;在本方案中,首先需要确定每次规约操作中待搬移数据的第一DSP核;在执行每次规约操作时,将每个第一DSP核的待规约数据搬移至全局共享空间,并将所述全局共享空间中的待规约数据,划分为与执行规约操作的第二DSP核具有一一对应关系的多个子数据;将所述全局共享空间中与同一个第二DSP核具有一一对应关系的多个子数据,搬移至同一个第二DSP核,以便每个第二DSP核并行对存储的多个子数据执行规约操作,得到规约结果数据;将所有规约结果数据搬移至所述全局共享空间,并作为下一次规约操作的待规约数据,继续执行下一次规约操作。

可见,通过本方案进行数据规约时,可让每一个核分别只负责部分数据的规约任务,从而能够实现片上不同大小数据的高性能规约计算,在待规约数据量很大时,能通过多核并行执行规约操作,提高规约效率。

附图说明

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

图1为为现有技术中通用多核DSP向量处理器数据传输示意图

图2为本发明实施例公开的一种基于向量处理器的数据规约方法流程示意图;

图3为本发明实施例公开的一种数据搬移示意图;

图4为本发明实施例公开的另一种数据搬移示意图;

图5为本发明实施例公开的另一种数据搬移示意图;

图6为本发明实施例公开的另一种数据搬移示意图;

图7为本发明实施例公开的另一种数据搬移示意图;

图8为本发明实施例公开的种基于向量处理器的数据规约装置结构示意图;

图9为本发明实施例公开的一种电子设备结构示意图。

具体实施方式

参见图1,为现有技术中通用多核DSP向量处理器数据传输示意图。通过图1可以看出,该多核DSP向量处理器内包括N个DSP核,每个DSP核中具有一个片上向量存储空间AM,多个DSP核共享一个全局共享空间GSM,DDR(Double Data Rate,双倍速率同步动态随机存储器)为片外存储器。在传统方案中,对DSP0的AM内存储的数据,以及DSP1的AM内存储的数据进行数据规约时,需要将DSP1的AM内存储的数据通过GSM搬移至DSP0的AM内,以便通过DSP0对这两段数据进行规约计算;但是,若需要规约的数据量很大,此时便会存在如下两个问题:一、进行规约的两段数据加起来全部存放在单个核的AM空间超过AM空间的最大范围;二、GSM空间没法一次性容纳下所有的数据。在传统方案中,为了解决该问题,只能减少每次传输的数据量,但是,该方式会导致数据频繁地在片上进出,进而浪费大量的时间,数据规约效率较低,无法发挥出DSP真正的性能。

因此在本方案中,公开了一种基于向量处理器的数据规约方法、装置、设备及存储介质,以提高多核DSP向量处理器的规约效率。具体来说,本方案可提供一个在多核环境中的规约函数,该规约函数输入最基本的参数后,即可执行基于向量处理器的数据规约方法,得到规约后的数据。

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

参见图2,本发明实施例提供的一种基于向量处理器的数据规约方法流程示意图;通过图2可以看出,本方案具体包括如下步骤:

S101:确定每次规约操作中待搬移数据的第一DSP核;

在本实施例中,确定每次参与规约操作的DSP核的目标数量之前,还包括:根据参与规约操作的DSP核的总数量,以及每个DSP核的片上向量存储空间的第二容量计算总容量;判断总容量是否大于全局共享空间的第一容量;若是,则继续执行确定每次参与规约操作的DSP核的目标数量的步骤。

需要说明的是,在多核环境中,需要将待规约数据准备到对应核的AM空间中,然后判断所有核的AM空间上的待规约数据总容量是否超过GSM空间的最大值,若未超过,则可一次性计算完所有核的数据,若超过,则需要对所有待规约数据进行分段循环处理,该分段循环处理是指:将全部待规约数据分为多个部分,通过多次规约操作对每个部分进行规约操作,循环多次后得到最终的规约结果。

并且,通过S101确定每次规约操作中待搬移数据的第一DSP核时,还需要根据全局共享空间的第一容量及每个DSP核的片上向量存储空间的第二容量,计算出最大数量;该全局共享空间最多存放最大数量个DSP核的待规约数据;然后根据参与规约操作的DSP核的总数量及最大数量,确定每次规约操作中待搬移数据的第一DSP核的数量,以及规约操作的总执行次数。

具体来说,本方案可根据公式:GSM_coremax=GSM_speacemax/AM_speacemax计算出最大数量GSM_coremax,该GSM_coremax为全局共享空间的第一容量,AM_speacemax为片上向量存储空间的第二容量。进而,本方案可通过如下流程计算每次规约操作中待搬移数据的第一DSP核的数量,以及规约操作的总执行次数:

将最大数量作为首次规约操作中待搬移数据的第一DSP核的第一数量;计算参与规约操作的DSP核的总数量与第一数量的差值;判断差值是否大于最大数量减一后得到的数量;若是,则将最大数量减一后得到的数量,作为中间次规约操作中待搬移数据的第一DSP核的第二数量,并将差值及第二数量的商值作为中间次规约操作的执行次数,将差值及第二数量的余数作为最后一次规约操作中待搬移数据的第一DSP核的第三数量;若否,则将差值作为最后一次规约操作中待搬移数据的第三数量;将首次规约操作、中间次规约操作及最后一次规约操作的总次数作为规约操作的总执行次数。

例如:若每个DSP核的片上向量存储空间的第二容量AM_speacemax为768K,全局共享空间的第一容量GSM_speacemax为6144K,参与规约操作的DSP核的总数量N为20,则通过公式

GSM_coremax=GSM_speacemax/AM_speacemax可计算出最大数量GSM_coremax为8,也就是说,全局共享空间最大能存放8个DSP核上的待规约数据。进而,将8作为首次规约操作中待搬移数据的DSP核的第一数量,此时参与规约操作的DSP核的总数量N(20)与第一数量(8)的差值为12,由于12大于7,则将7作为中间次规约操作中待搬移数据的DSP核的第二数量,并将12及7的商值1作为中间次规约操作的执行次数,将12及7的余数5作为最后一次规约操作中待搬移数据的DSP核的第三数量。

通过上述过程可以看出,本次需要执行3次规约操作,其中,首次规约操作需要将8个DSP核的待规约数据搬移至全局共享空间,中间次规约操作需要将7个DSP核的待规约数据搬移至全局共享空间,最后一次规约操作需要将5个DSP核的待规约数据搬移至全局共享空间,通过这三次操作,即可完成对20个DSP核内待规约数据的计算。

需要说明的是,本实施例为了对搬移数据的DSP核及执行规约操作的DSP核进行区分,将搬移数据的DSP核定义为第一DSP核,将执行规约操作的DSP核定义为第二DSP核。并且,本实施例在确定第一DSP核及第二DSP核时,可根据每个DSP核的核ID(Identitydocument,唯一编码)确定,如:若参与规约操作的DSP核的总数量N为20,则设置这20个DSP核的核ID为核0、核1、核2、核3……核19。此时在选择第一DSP核时,可按照每个DSP核的核ID从小到大的顺序选择,如:在首次规约操作中,选择核0~核7作为第一DSP核,在中间次规约操作中,选择核8~核14作为第一DSP核,在最后一次规约操作中,可选择核15~核19作为第一DSP核。

S102:在执行每次规约操作时,将每个第一DSP核的待规约数据搬移至全局共享空间,并将全局共享空间中的待规约数据,划分为与执行规约操作的第二DSP核具有一一对应关系的多个子数据;

在本实施例中,在执行每次规约操作时,需确定本次规约操作需要待搬移数据的第一DSP核的数量,如前文所示,若首次规约操作需要将8个DSP核的待规约数据搬移至全局共享空间,则此时便需要将8个第一DSP核中的待规约数据搬移至全局共享空间,然后根据执行规约操作的第二DSP核的数量,将全局共享空间中的待规约数据划分为多个子数据,子数据的数量与第二DSP核的数量相同,且每个子数据与对应的第二DSP核具有一一对应关系;需要说明的是,该待规约数据包括从每个第一DSP核搬移过来的,以及上一次规约操作的规约结果数据,也即:本方案需要将全局共享空间中每个从第一DSP核搬移过来的待规约数据,划分为与执行规约操作的第二DSP核具有一一对应关系的多个子数据,若全局共享空间中包括上一次规约操作的规约结果数据,则同样需要将该规约结果数据作为待规约数据,并划分为与执行规约操作的第二DSP核具有一一对应关系的多个子数据。

需要说明的是,本方案确定执行规约操作的第二DSP核的时机,可在执行每次规约操作前确定,也可在确定规约操作的总执行次数时确定。但是为了提高规约效率,可在确定规约操作的总执行次数之后便确定第二DSP核。

在本实施例中,提供了如下两种确定第二DSP核的方式:

第一种:将最大数量作为每次规约操作中执行规约操作的第二DSP核的数量,并且,通过该方式确定的第二DSP核,可以是首次规约操作中待搬移数据的第一数量个第一DSP核,如:全局共享空间最大能存放8个DSP核上的待规约数据,且在首次规约操作时,将8个DSP核(核0~核7)的待规约数据搬移至全局共享空间,则将核0~核7作为执行规约操作的第二DSP核,在每次执行规约操作时,将每个待规约数据,划分为与核0~核7具有一一对应关系的8个子数据,以便通过核0~核7并行执行规约操作。

第二种:根据空闲DSP核的数量,确定每次规约操作中执行规约操作的第二DSP核的数量;该空闲DSP核为未存储待规约数据的DSP核。如:全局共享空间最大能存放8个DSP核上的待规约数据,且在首次规约操作时,将8个DSP核(核0~核7)的待规约数据搬移至全局共享空间,那么此时核0~核7便为空闲DSP核,空闲DSP核的数量为8,此时便将这8个空闲DSP核均作为第二DSP核;在执行规约操作时,将每个第一DSP核的待规约数据,划分为与核0~核7具有一一对应关系的8个子数据,以便通过核0~核7并行执行规约操作;而在下一次规约操作时,若将核8~核14的待规约数据搬移至全局共享空间,那么此时核0~核14便为空闲DSP核,空闲DSP核的数量为15,此时便将这15个空闲DSP核均作为第二DSP核,此时在执行规约操作时,可将每个第一DSP核的待规约数据,划分为与核0~核14具有一一对应关系的15个子数据,以便通过核0~核14并行执行规约操作。需要说明的是,根据空闲DSP核的数量确定第二DSP核的数量时,可以将全部空闲DSP核均作为第二DSP核的,也可将部分DSP核作为第二DSP核,在此并不具体限定。

S103:将全局共享空间中与同一个第二DSP核具有一一对应关系的多个子数据,搬移至同一个第二DSP核,以便每个第二DSP核并行对存储的多个子数据执行规约操作,得到规约结果数据;

在本实施例中,需要将全局共享空间中与同一个第二DSP核具有一一对应关系的多个子数据,搬移至同一个第二DSP核,这样每个第二DSP核内便存储了每个第一DSP核内的部分待规约数据,通过多个第二DSP核同时对存储的数据执行规约操作,即可实现多个第二DSP核并行对多个第一DSP核的待规约数据进行规约处理,提高处理效率。需要说明的是,本实施例对数据执行的规约操作可以为加法操作、取最大值操作、取最小值操作等等,在此并不具体限定。

S104:将所有规约结果数据搬移至全局共享空间,并作为下一次规约操作的待规约数据,继续执行下一次规约操作。

需要说明的是,每次循环操作均是通过S102-S104执行,不同的是,在首次规约操作中,GSM空间内未存储任何数据,因此在首次规约操作中待规约数据只包括从第一DSP核搬移的待规约数据,而在之后的每一次规约操作中,均存储了上一次规约操作的规约结果数据,因此在之后的每次规约操作中,待规约数据包括上一次的规约结果数据,以及执行本次规约操作时从多个第一DSP核搬移的数据,经过多次规约操作即可得出最终规约结果数据。

综上可以看出,本方案公开了一种面向向量处理器的片上自适应并行规约方法,充分利用多核分段的思想,让每一个核分别只负责整段数据的一小部分规约任务,从而能够实现片上不同大小数据的高性能规约计算。本方案能在数据量很大时,通过多核并行执行规约操作,提高规约效率。

为了对本方案进行清楚说明,在此通过一具体实施例对本方案的执行流程进行具体说明。

参见图3,为本发明实施例公开的一种数据搬移示意图,在图3中,参与规约操作的DSP核的总数量N为20,每个DSP核的片上向量存储空间的第二容量AM_speacemax为768K,全局共享空间的第一容量为GSM_speacemax为6144K,总容量通过N与AM_speacemax的乘积确定,经过计算得到总容量为:20*768K=15360K,且15360K大于GSM_speacemax,在该情况下,20个DSP核的待规约数据无法一次性搬移至GSM空间,因此可通过本方案进行快速数据规约。

通过公式GSM_coremax=GSM_speacemax/AM_speacemax计算出最大数量GSM_coremax为8,也就是说,全局共享空间最大能存放8个DSP核上的待规约数据。因此,将8作为首次规约操作中待搬移数据的DSP核的第一数量,此时参与规约操作的DSP核的总数量N(20)与第一数量(8)的差值为12,由于12大于7,则将7作为中间次规约操作中待搬移数据的DSP核的第二数量,并将12及7的商值1作为中间次规约操作的执行次数,将12及7的余数5作为最后一次规约操作中待搬移数据的DSP核的第三数量。也即:在本实施例中,需要执行三次规约操作,其中,首次规约操作需要将8个DSP核(核0~核7)的待规约数据搬移至全局共享空间,中间次规约操作需要将7个DSP核(核8~核14)的待规约数据搬移至全局共享空间,最后一次规约操作需要将5个DSP核(核15~核19)的待规约数据搬移至全局共享空间,通过这三次操作,即可完成对20个DSP核内待规约数据的计算。

参见图4,为本发明实施例公开的另一种数据搬移示意图,通过图4可以看出,在执行首次规约操作时,需要将核0~核7的待规约数据搬移至全局共享空间,其中,为了方便说明,将GSM的第0层对应核0的数据,从核0搬移的待规约数据为0-0~0-7,将GSM的第1层对应核1的数据,从核1搬移的待规约数据为1-0~1-7,以此类推。在本实施例中,将最大数量8作为每次规约操作中执行规约操作的第二DSP核的数量,且这8个第二DSP核为:核0~核7;此时需要将GSM每一层的数据分为8个子数据,如:将GSM的第0层划分为:子数据0-0、子数据0-1、子数据0-2、子数据0-3、子数据0-4、子数据0-5、子数据0-6、子数据0-7,且子数据0-0与核0具有一一对应关系,子数据0-1与核1具有一一对应关系,子数据0-2与核2具有一一对应关系,以此类推,将GSM的每一层的数据均划分为8个子数据,且8个子数据与8个第二DSP核具有一一对应关系。

参见图5,为本发明实施例公开的另一种数据搬移示意图,在首次规约操作时,将核0~核7的待规约数据搬移至全局共享空间,且将全局共享空间中每个核搬移的待规约数据划分为与核0~核7具有一一对应关系的8个子数据,那么与核0具有一一对应关系的子数据共有8个,分别是核0中的子数据0-0,核1中的子数据1-0,核2中的2-0,核3中的3-0,核4中的4-0,核5中的5-0,核6中的6-0,核7中的7-0,将与核0具有一一对应关系的上述8个子数据均搬移至核0,此时核0中便存储了原核0~核7的部分待规约数据:子数据0-0~子数据7-0;以此类推,将其他子数据按照其与核1~核7之间的一一对应关系搬移至对应的核,搬移后各核内存储的数据详见图5的AM空间。如图5所示,核0在执行规约操作时,可计算子数据0-0+子数据1-0+……子数据7-0的和,将最终计算的值作为规约结果数据,在此将核0计算得到的规约结果数据称为core_num0,依次类推,计算出核1~核7的规约结果数据为:core_num1~core_num7。

参见图6,为本发明实施例公开的另一种数据搬移示意图,参见图6的AM空间,数据0-0~数据0-7分别为规约结果数据core_num0~规约结果数据core_num7。在本实施例中,由于需要循环多次得出最终的规约结果,因此,需要将本次的规约结果数据搬移至全局共享空间,并作为下一次规约操作的待规约数据,继续执行下一次规约操作。如图6所示,在首次规约操作后,将得到的规约结果数据0-0~0-7搬移至GSM空间的第0层,并继续执行下一次规约操作。

参见图7,为本发明实施例公开的另一种数据搬移示意图,如图7所示,在执行下一次次规约操作时,GSM空间的第0层已经存储了待规约数据,该待规约数据即为上一次规约操作计算出的规约结果数据,将本次规约操作需要搬移的7个DSP核(核8~核14)的待规约数据搬移至全局共享空间的第1层~第7层,后续便按照上一循环的步骤继续执行规约操作,直至执行完最后一次规约操作,得出最终规约结果数据。

综上可以看出,本方案的每次循环,均是以GSM空间为中间媒介,将核0~核7、核8~核14、核15~核19看成一个整体,传进GSM空间再传出,按照核ID的前后顺序传送到一些固定的核去处理,该方式可提高代码的可读性和可复用性;并且,本方案利用GSM空间的特性,使其能让多个核进行数据之间的交换,从而把不同的核上的数据放在同一块核上进行操作,该方式充分利用了多核并行的思想,极大程度的提升了DSP核的性能;进一步,本方案可通过一个规约函数执行上述流程,即可得到最终的规约结果数据,规约方式比常规规约方式简单方便。

下面对本发明实施例提供的数据规约装置、设备及存储介质进行介绍,下文描述的数据规约装置、设备及存储介质与上文描述的数据规约方法可以相互参照,在此并不赘述。

参见图8,本发明实施例提供的一种基于向量处理器的数据规约装置结构示意图,该装置包括:

确定模块11,用于确定每次规约操作中待搬移数据的第一DSP核;

第一搬移模块12,用于在执行每次规约操作时,将每个第一DSP核的待规约数据搬移至全局共享空间;

划分模块13,用于将所述全局共享空间中的待规约数据,划分为与执行规约操作的第二DSP核具有一一对应关系的多个子数据;

第二搬移模块14,用于将所述全局共享空间中与同一个第二DSP核具有一一对应关系的多个子数据,搬移至同一个第二DSP核,以便每个第二DSP核并行对存储的多个子数据执行规约操作,得到规约结果数据;

第三搬移模块15,用于将所有规约结果数据搬移至所述全局共享空间,并作为下一次规约操作的待规约数据,继续执行下一次规约操作。

其中,该确定模块包括:

计算单元,用于根据所述全局共享空间的第一容量及每个DSP核的片上向量存储空间的第二容量,计算出最大数量;其中,所述全局共享空间最多存放所述最大数量个DSP核的待规约数据;

第一确定单元,用于根据参与规约操作的DSP核的总数量及所述最大数量,确定每次规约操作中待搬移数据的第一DSP核的数量,以及规约操作的总执行次数。

其中,该确定单元包括:

第一确定子单元,用于将所述最大数量作为首次规约操作中待搬移数据的第一DSP核的第一数量;

计算子单元,用于计算参与规约操作的DSP核的总数量与所述第一数量的差值;

判断子单元,用于判断所述差值是否大于所述最大数量减一后得到的数量;若是,则触发第二确定子单元;若否,则触发第三确定子单元;

第二确定子单元,用于将所述最大数量减一后得到的数量,作为中间次规约操作中待搬移数据的第一DSP核的第二数量,并将所述差值及所述第二数量的商值作为中间次规约操作的执行次数,将所述差值及所述第二数量的余数作为最后一次规约操作中待搬移数据的第一DSP核的第三数量;

第三确定子单元,用于将所述差值作为最后一次规约操作中待搬移数据的第三数量;

第四确定子单元,用于将首次规约操作、中间次规约操作及最后一次规约操作的总次数作为规约操作的总执行次数。

其中,该确定模块还包括:

第二确定单元,用于确定每次规约操作中执行规约操作的第二DSP核的数量。

其中,所述第二确定单元具体用于:将所述最大数量作为每次规约操作中执行规约操作的第二DSP核的数量。

其中,所述第二确定单元具体用于:根据空闲DSP核的数量,确定每次规约操作中执行规约操作的第二DSP核的数量;所述空闲DSP核为未存储待规约数据的DSP核。

其中,所述装置还包括:

计算模块,用于根据参与规约操作的DSP核的总数量,以及每个DSP核的片上向量存储空间的第二容量计算总容量;

判断模块,用于判断所述总容量是否大于所述全局共享空间的第一容量;若是,则触发确定模块。

参见图9,本发明实施例提供的一种电子设备结构示意图,包括:

存储器21,用于存储计算机程序;

处理器22,用于执行所述计算机程序时实现上述任意方法实施例所述的基于向量处理器的数据规约方法的步骤。

在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。

该设备可以包括存储器21、处理器22和总线23。

其中,存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器21在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器21在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器21还可以既包括设备的内部存储单元也包括外部存储设备。存储器21不仅可以用于存储安装于设备的应用软件及各类数据,例如执行数据规约方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器22在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行数据规约方法的程序代码等。

该总线23可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

进一步地,设备还可以包括网络接口24,网络接口24可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。

可选地,该设备还可以包括用户接口25,用户接口25可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口25还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。

图9仅示出了具有组件21-25的设备,本领域技术人员可以理解的是,图9示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的基于向量处理器的数据规约方法的步骤。

其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120116187226