System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于计算装置的数据计算方法、装置及相关产品制造方法及图纸_技高网

基于计算装置的数据计算方法、装置及相关产品制造方法及图纸

技术编号:41192846 阅读:4 留言:0更新日期:2024-05-07 22:22
本申请提供一种基于计算装置的数据计算方法、装置及相关产品,涉及数据处理领域。该计算装置可位于组合处理装置中。该组合处理装置包括计算装置、接口装置、处理装置和存储装置。计算装置配置成执行矩阵乘运算,主要实现为单核智能处理器或者多核智能处理器,用以执行深度学习或机器学习的计算,其可以通过接口装置与处理装置进行交互,以共同完成矩阵运算。接口装置用于在计算装置与处理装置间传输数据和控制指令。处理装置作为通用的处理装置,执行包括但不限于数据搬运、对计算装置的开启和/或停止等基本控制。存储装置用以存储待处理的数据。通过本申请的方案,可以提高硬件的利用率和计算效率。

【技术实现步骤摘要】

本申请涉及数据处理领域,尤其涉及一种基于计算装置的数据计算方法、装置及相关产品


技术介绍

1、随着人工智能技术的发展,各种深度学习模型被广泛应用。在各种深度学习模型中,一般会涉及到神经元与卷积核之间的卷积运算。而当卷积核、步长和膨胀系数都为1且特征图填充宽度(简称:pad)为0时,可以退化为矩阵乘运算。其中,a矩阵为神经元对应的矩阵,b矩阵为卷积核对应的矩阵。

2、现有技术中在芯片上进行矩阵乘运算时,为了提高硬件的处理能力,可采用多个矩阵运算(简称:lt)单元并行进行处理。在并行进行处理时,同一时刻最多可将所有的lt单元均进行矩阵乘运算。具体的,可将b矩阵拆分成多个子矩阵,每个子矩阵对应一个lt单元来进行矩阵乘运算。但是对b矩阵进行拆分时,拆分出的子矩阵的数量一般不能达到lt单元的整数倍,这就造成存在同一时刻一部分lt单元无法参与矩阵乘运算的情况发生,导致硬件利用率下降,计算效率不高。

3、为了充分利用硬件的计算能力,降低对齐带来的算力浪费现象,一种可选方案是每次计算固定地加载lt单元倍数个卷积核矩阵并进行计算,但是这会引入stride io,导致带宽利用率降低。


技术实现思路

1、本申请实施例提供一种基于计算装置的数据计算方法、装置及相关产品,用以解决现有技术中在同一时刻一部分矩阵运算单元无法参与矩阵乘运算的情况发生,导致硬件利用率下降,计算效率不高的技术问题。

2、第一方面,本申请提供一种基于计算装置的数据计算方法,所述计算装置包括至少一个目标集群,每个所述目标集群包括多个处理器核,每个所述处理器核包括矩阵运算单元、第一片上存储空间和第二片上存储空间,所述方法包括:

3、针对每个目标集群,将第一目标矩阵根据所述处理器核的数量在行向维度上进行拆分,获得多个第一目标子矩阵,并将多个所述第一目标子矩阵分别驻留到所述多个处理器核的第一片上存储空间中,其中,所述第一片上存储空间是没有对齐要求的存储空间;

4、采用处理器核将第二目标矩阵依次循环移动至处理器核的第二片上存储空间中,以使得所有矩阵运算单元从第二片上存储空间中共享第二目标矩阵;

5、执行第一目标子矩阵与对应的第二目标矩阵的矩阵乘运算,获得转置子矩阵,以根据转置子矩阵获得矩阵乘结果矩阵,其中,所述第二目标矩阵包括在待执行矩阵乘运算的第一位置矩阵中,所述第二片上存储空间是有对齐要求的存储空间。

6、第二方面,本申请提供一种计算装置,计算装置包括至少一个目标集群,每个所述目标集群包括多个处理器核,每个所述处理器核包括矩阵运算单元、第一片上存储空间和第二片上存储空间;

7、目标集群,用于针对每个目标集群,将第一目标矩阵根据所述处理器核的数量在行向维度上进行拆分,获得多个第一目标子矩阵,并将多个所述第一目标子矩阵分别驻留到所述多个处理器核的第一片上存储空间中,其中,所述第一片上存储空间是没有对齐要求的存储空间;

8、处理器核,用于将第二目标矩阵依次循环移动至处理器核的第二片上存储空间中,以使得所有矩阵运算单元从第二片上存储空间中共享第二目标矩阵,并执行第一目标子矩阵与对应的第二目标矩阵的矩阵乘运算,获得转置子矩阵,以根据转置子矩阵获得矩阵乘结果矩阵,其中,所述第二目标矩阵包括在待执行矩阵乘运算的第一位置矩阵中,所述第二片上存储空间是有对齐要求的存储空间。

9、第三方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被至少一个处理器执行时,实现如第一方面所述的方法。

10、第四方面,本申请提供一种芯片,包括第二方面提供的计算装置。

11、第五方面,本申请提供一种电子设备,所述电子设备包括:片外存储器及如第四方面所述的芯片。

12、第六方面,本申请提供一种板卡,所述板卡包括:存储器件、接口装置和控制器件以及如第四方面所述的芯片;

13、其中,所述芯片与所述存储器件、所述控制器件以及所述接口装置分别连接;

14、所述存储器件,用于存储目标数据;

15、所述接口装置,用于实现所述芯片与外部设备之间的数据传输;

16、所述控制器件,用于对所述芯片的状态进行监控。

17、本申请实施例提供的基于计算装置的数据计算方法、装置及相关产品,通过针对每个目标集群,将第一目标矩阵根据处理器核的数量在行向维度上进行拆分,获得多个第一目标子矩阵,并将多个第一目标子矩阵分别驻留到多个处理器核的第一片上存储空间中,其中,第一片上存储空间是没有对齐要求的存储空间,采用处理器核将第二目标矩阵依次循环移动至处理器核的第二片上存储空间中,以使得所有矩阵运算单元从第二片上存储空间中共享第二目标矩阵,执行第一目标子矩阵与对应的第二目标矩阵的矩阵乘运算,获得转置子矩阵,以根据转置子矩阵获得矩阵乘的结果矩阵,其中,第二目标矩阵包括在待执行矩阵乘运算的第一位置矩阵中,第二片上存储空间是有对齐要求的存储空间。由于将第一位置矩阵和第二位置矩阵进行了互换,那么第二位置矩阵拆分后的第一目标子矩阵驻留在了没有对齐要求的第一片上存储空间,而将包括在第一位置矩阵中的第二目标矩阵循环移动至有对齐要求的第二片上存储空间中,保证能够由矩阵运算单元进行第二目标矩阵的共享,即在进行矩阵乘运算的同一时刻多个矩阵运算单元都获取相同的第二目标矩阵。这样不会因为对第二位置矩阵的拆分获得的第一目标子矩阵的数量不能整除矩阵运算单元的数量的问题导致同一时刻有些矩阵运算单元不能参与运算的的现象发生。所以能够在进行第一目标子矩阵与对应的第二目标矩阵的矩阵乘运算时,保证每个矩阵运算单元均能够在同一时刻参与矩阵乘运算,获得转置子矩阵,以根据转置子矩阵获得矩阵乘的结果矩阵。有效提高了硬件利用率及计算效率。

本文档来自技高网...

【技术保护点】

1.一种基于计算装置的数据计算方法,其特征在于,所述计算装置包括至少一个目标集群,每个所述目标集群包括多个处理器核,每个所述处理器核包括矩阵运算单元、第一片上存储空间和第二片上存储空间,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一目标矩阵包括在待执行矩阵乘运算的第二位置矩阵中;所述针对每个目标集群,将第一目标矩阵根据所述处理器核的数量在行向维度上进行拆分之前,还包括;

3.根据权利要求2所述的方法,其特征在于,所述根据第二位置矩阵的大小、目标集群的第一片上存储空间大小及包括的目标集群的数量确定每个目标集群驻留的对应的第一目标矩阵,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据目标集群的第一片上存储空间大小及所述第二位置矩阵的大小确定是否对所述第二位置矩阵进行拆分,包括:

5.根据权利要求3所述的方法,其特征在于,所述根据目标集群的第一片上存储空间大小、所述第二位置矩阵的大小及包括的目标集群的数量确定拆分后的多个矩阵,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述所需要的目标集群的数量、目标集群的第一片上存储空间大小及包括的目标集群的数量确定拆分后的多个矩阵,包括:

7.根据权利要求6所述的方法,其特征在于,若确定所需要的目标集群的数量小于包括的目标集群的数量,则还包括:

8.根据权利要求1所述的方法,其特征在于,所述将第一目标矩阵根据所述处理器核的数量在行向维度上进行拆分,获得多个第一目标子矩阵,包括:

9.根据权利要求1所述的方法,其特征在于,所述将第一目标矩阵根据所述处理器核的数量在行向维度上进行拆分,获得多个第一目标子矩阵,包括:

10.根据权利要求1-9任一项所述的方法,其特征在于,所述方法采用流水设计,

11.根据权利要求1-9任一项所述的方法,其特征在于,所述采用处理器核将第二目标矩阵依次循环移动至处理器核的第二片上存储空间中之前,还包括:

12.一种计算装置,其特征在于,所述计算装置包括至少一个目标集群,每个所述目标集群包括多个处理器核,每个所述处理器核包括矩阵运算单元、第一片上存储空间和第二片上存储空间,所述装置包括;

13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被至少一个处理器执行时,实现如权利要求1-11任一项所述的方法。

14.一种芯片,其特征在于,包括:如权利要求12所述的计算装置。

15.一种电子设备,其特征在于,所述电子设备包括:片外存储器及如权利要求14所述的芯片。

16.一种板卡,其特征在于,所述板卡包括:存储器件、接口装置和控制器件以及如权利要求14所述的芯片;

...

【技术特征摘要】

1.一种基于计算装置的数据计算方法,其特征在于,所述计算装置包括至少一个目标集群,每个所述目标集群包括多个处理器核,每个所述处理器核包括矩阵运算单元、第一片上存储空间和第二片上存储空间,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一目标矩阵包括在待执行矩阵乘运算的第二位置矩阵中;所述针对每个目标集群,将第一目标矩阵根据所述处理器核的数量在行向维度上进行拆分之前,还包括;

3.根据权利要求2所述的方法,其特征在于,所述根据第二位置矩阵的大小、目标集群的第一片上存储空间大小及包括的目标集群的数量确定每个目标集群驻留的对应的第一目标矩阵,包括:

4.根据权利要求3所述的方法,其特征在于,所述根据目标集群的第一片上存储空间大小及所述第二位置矩阵的大小确定是否对所述第二位置矩阵进行拆分,包括:

5.根据权利要求3所述的方法,其特征在于,所述根据目标集群的第一片上存储空间大小、所述第二位置矩阵的大小及包括的目标集群的数量确定拆分后的多个矩阵,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述所需要的目标集群的数量、目标集群的第一片上存储空间大小及包括的目标集群的数量确定拆分后的多个矩阵,包括:

7.根据权利要求6所述的方法,其特征在于,若确定所需要的目标集群的数量小于包括的目标集群的数量,则还包括:...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名
申请(专利权)人:寒武纪西安集成电路有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1