一种面向数字信号处理器的矩阵乘处理方法、装置及介质制造方法及图纸

技术编号:38737266 阅读:12 留言:0更新日期:2023-09-08 23:23
本申请公开了一种面向数字信号处理器的矩阵乘处理方法、装置及介质,涉及向量处理器领域。该方法中,在进行矩阵乘操作前,将第一矩阵存储在阵列存储器,将第二矩阵、第三矩阵存储在全局共享存储中,使得在进行矩阵乘操作时,第一矩阵只读取一次,第二矩阵、第三矩阵多核共享,使得数字信号处理器的访存量较低,从而降低双倍速率同步动态随机存储器的带宽压力。此外,本申请还提供一种面向数字信号处理器的矩阵乘处理装置以及计算机可读存储介质,与上述提到的面向数字信号处理器的矩阵乘处理方法具有相同或相对应的技术特征,效果同上。上。上。

【技术实现步骤摘要】
一种面向数字信号处理器的矩阵乘处理方法、装置及介质


[0001]本申请涉及向量处理器领域,特别是涉及一种面向数字信号处理器的矩阵乘处理方法、装置及介质。

技术介绍

[0002]矩阵乘要发挥硬件的峰值性能,需要使得计算能够掩盖数据的搬运。针对数字信号处理器(Digital Signal Processor,DSP),采用直接存储器访问(Direct Memory Access,DMA)作为数据搬运的方式。由于数字信号处理器,多核共享全局共享存储(Global Shared Memory,GSM),每个核具有标量缓存和向量缓存。内存层次比中央处理器(Central Processing Unit,CPU)复杂,基于中央处理器访存最优的矩阵乘算法已经被提出。但是,基于数字信号处理器的访存较低的矩阵乘算法还未被提出。当访存量较大时,双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR)的带宽压力大。
[0003]由此可见,提供一种面向数字信号处理器的矩阵乘处理方法,以降低访存量,从而降低双倍速率同步动态随机存储器的带宽压力是本领域人员亟需解决的技术问题。

技术实现思路

[0004]本申请的目的是提供一种面向数字信号处理器的矩阵乘处理方法、装置及介质,用于降低访存量,从而降低双倍速率同步动态随机存储器的带宽压力。
[0005]为解决上述技术问题,本申请提供一种面向数字信号处理器的矩阵乘处理方法,包括
[0006]获取待进行矩阵乘操作的第一矩阵、第二矩阵和第三矩阵;
[0007]将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器;
[0008]将所述第二矩阵、第三矩阵从所述双倍速率同步动态随机存储器传输至全局共享存储中;
[0009]在检测到用于执行所述矩阵乘操作的指令的情况下,将所述第二矩阵从所述全局共享存储中存储至所述阵列存储器以及将所述第三矩阵从所述全局共享存储中存储至标量存储器;
[0010]将存储在所述阵列存储器中的所述第一矩阵、所述第二矩阵以及存储在所述标量存储器中的所述第三矩阵进行所述矩阵乘操作。
[0011]优选地,在所述将存储在所述阵列存储器中的所述第一矩阵、所述第二矩阵以及存储在所述标量存储器中的所述第三矩阵进行所述矩阵乘操作之前,所述方法还包括:
[0012]分别将所述第一矩阵、所述第二矩阵、所述第三矩阵进行拆分并获取拆分后的各矩阵块的分块参数;其中,所述分块参数至少包括所述矩阵块的行数和列数;
[0013]在所述分块参数满足预设要求的情况下,将存储在所述阵列存储器中的所述第一矩阵对应的各所述矩阵块、所述第二矩阵对应的各所述矩阵块、以及将存储在所述标量存
储器中的所述第三矩阵对应的各所述矩阵块进行所述矩阵乘操作。
[0014]优选地,所述预设要求至少根据以下之一确定:
[0015]所述全局共享存储的存储容量、所述数字信号处理器的所有的核数组成的线程网格的大小、所述阵列存储器的存储容量、所述标量存储器的存储容量。
[0016]优选地,在所述将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器之前,还包括:
[0017]获取所述全局共享存储的大小;
[0018]根据所述全局共享存储的大小将所述第一矩阵拆分为第一矩阵块、将所述第二矩阵拆分为第二矩阵块和将所述第三矩阵拆分为第三矩阵块;其中,所述第一矩阵块的行数与所述第二矩阵块的行数相同,所述第一矩阵块的列数与所述第三矩阵块的列数相同,所述第二矩阵块的列数与所述第三矩阵块的行数相同;
[0019]对应地,所述将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器包括:
[0020]将各所述第一矩阵块分别从所述双倍速率同步动态随机存储器传输至所述阵列存储器;
[0021]所述将所述第二矩阵、第三矩阵从所述双倍速率同步动态随机存储器传输至全局共享存储中包括:
[0022]将各所述第二矩阵块、各所述第三矩阵块从所述双倍速率同步动态随机存储器传输至所述全局共享存储中。
[0023]优选地,在所述根据所述全局共享存储的大小将所述第一矩阵拆分为第一矩阵块、将所述第二矩阵拆分为第二矩阵块和将所述第三矩阵拆分为第三矩阵块之后,所述将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器之前,还包括:
[0024]获取所述数字信号处理器的核数以及所有的所述核数组成的线程网格的大小;
[0025]根据所述线程网格的大小将所述第一矩阵块拆分为第四矩阵块、将所述第二矩阵块拆分为第五矩阵块和将所述第三矩阵块拆分为第六矩阵块;
[0026]对应地,所述将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器包括:
[0027]将各所述第四矩阵块分别从所述双倍速率同步动态随机存储器传输至所述阵列存储器;
[0028]所述将所述第二矩阵、第三矩阵从所述双倍速率同步动态随机存储器传输至全局共享存储中包括:
[0029]将各所述第五矩阵块、各所述第六矩阵块从所述双倍速率同步动态随机存储器传输至所述全局共享存储中。
[0030]优选地,在所述将各所述第五矩阵块、各所述第六矩阵块从所述双倍速率同步动态随机存储器传输至所述全局共享存储中之后,所述将所述第二矩阵从所述全局共享存储中存储至所述阵列存储器以及将所述第三矩阵从所述全局共享存储中存储至标量存储器之前,还包括:
[0031]获取所述阵列存储器的存储容量、所述标量存储器的存储容量;
[0032]根据所述阵列存储器的存储容量、所述标量存储器的存储容量将所述第四矩阵块
拆分为第七矩阵块、将所述第五矩阵块拆分为第八矩阵块和将所述第六矩阵块拆分为第九矩阵块;
[0033]对应地,所述将所述第二矩阵从所述全局共享存储中存储至所述阵列存储器以及将所述第三矩阵从所述全局共享存储中存储至标量存储器包括:
[0034]将所述第八矩阵块从所述全局共享存储中存储至所述阵列存储器以及将所述第九矩阵块从所述全局共享存储中存储至所述标量存储器;
[0035]所述将存储在所述阵列存储器中的所述第一矩阵、所述第二矩阵以及存储在所述标量存储器中的所述第三矩阵进行所述矩阵乘操作包括:
[0036]将存储在所述阵列存储器中的所述第七矩阵块、所述第八矩阵块以及存储在所述标量存储器中的所述第九矩阵块进行所述矩阵乘操作。
[0037]优选地,所述矩阵乘操作与从所述双倍速率同步动态随机存储器传输所述第一矩阵、所述第二矩阵、所述第三矩阵采用双流水形式进行。
[0038]为了解决上述技术问题,本申请还提供一种面向数字信号处理器的矩阵乘处理装置,包括:
[0039]获取模块,用于获取待进行矩阵乘操作的第一矩阵、第二矩阵和第三矩阵;
[0040]第一传输模块,用于将所述第一矩阵从双倍速率同步动态随本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向数字信号处理器的矩阵乘处理方法,其特征在于,包括:获取待进行矩阵乘操作的第一矩阵、第二矩阵和第三矩阵;将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器;将所述第二矩阵、第三矩阵从所述双倍速率同步动态随机存储器传输至全局共享存储中;在检测到用于执行所述矩阵乘操作的指令的情况下,将所述第二矩阵从所述全局共享存储中存储至所述阵列存储器以及将所述第三矩阵从所述全局共享存储中存储至标量存储器;将存储在所述阵列存储器中的所述第一矩阵、所述第二矩阵以及存储在所述标量存储器中的所述第三矩阵进行所述矩阵乘操作。2.根据权利要求1所述的面向数字信号处理器的矩阵乘处理方法,其特征在于,在所述将存储在所述阵列存储器中的所述第一矩阵、所述第二矩阵以及存储在所述标量存储器中的所述第三矩阵进行所述矩阵乘操作之前,所述方法还包括:分别将所述第一矩阵、所述第二矩阵、所述第三矩阵进行拆分并获取拆分后的各矩阵块的分块参数;其中,所述分块参数至少包括所述矩阵块的行数和列数;在所述分块参数满足预设要求的情况下,将存储在所述阵列存储器中的所述第一矩阵对应的各所述矩阵块、所述第二矩阵对应的各所述矩阵块、以及将存储在所述标量存储器中的所述第三矩阵对应的各所述矩阵块进行所述矩阵乘操作。3.根据权利要求2所述的面向数字信号处理器的矩阵乘处理方法,其特征在于,所述预设要求至少根据以下之一确定:所述全局共享存储的存储容量、所述数字信号处理器的所有的核数组成的线程网格的大小、所述阵列存储器的存储容量、所述标量存储器的存储容量。4.根据权利要求1所述的面向数字信号处理器的矩阵乘处理方法,其特征在于,在所述将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器之前,还包括:获取所述全局共享存储的大小;根据所述全局共享存储的大小将所述第一矩阵拆分为第一矩阵块、将所述第二矩阵拆分为第二矩阵块和将所述第三矩阵拆分为第三矩阵块;其中,所述第一矩阵块的行数与所述第二矩阵块的行数相同,所述第一矩阵块的列数与所述第三矩阵块的列数相同,所述第二矩阵块的列数与所述第三矩阵块的行数相同;对应地,所述将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器包括:将各所述第一矩阵块分别从所述双倍速率同步动态随机存储器传输至所述阵列存储器;所述将所述第二矩阵、第三矩阵从所述双倍速率同步动态随机存储器传输至全局共享存储中包括:将各所述第二矩阵块、各所述第三矩阵块从所述双倍速率同步动态随机存储器传输至所述全局共享存储中。5.根据权利要求4所述的面向数字信号处理器的矩阵乘处理方法,其特征在于,在所述根据所述全局共享存储的大小将所述第一矩阵拆分为第一矩阵块、将所述第二矩阵拆分为
第二矩阵块和将所述第三矩阵拆分为第三矩阵块之后,所述将所述第一矩阵从双倍速率同步动态随机存储器传输至阵列存储器之前,还包括:获取所述数字信号处理器的核数以及所有的所述核数组成的线程网格的大小;根据所述线程网格的大小将所述第一矩阵块拆分为第四矩阵块、将所述第二矩阵块拆分为第五矩阵块和将所述第三矩...

【专利技术属性】
技术研发人员:刘杰陈琳夏睿郭际虎陈新海张庆阳王庆林
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

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

1