[发明专利]面向通用多核DSP的矩阵乘加速方法有效
| 申请号: | 201410541958.1 | 申请日: | 2014-10-15 |
| 公开(公告)号: | CN104346318A | 公开(公告)日: | 2015-02-11 |
| 发明(设计)人: | 迟利华;刘杰;甘新标;晏益慧;徐涵;胡庆丰;蒋杰;李胜国;王庆林;皇甫永硕;崔显涛;周陈 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
| 主分类号: | G06F17/16 | 分类号: | G06F17/16 |
| 代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
| 地址: | 410073 湖*** | 国省代码: | 湖南;43 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 面向 通用 多核 dsp 矩阵 加速 方法 | ||
技术领域
本发明涉及矩阵乘加速方法,尤指面向通用多核DSP结构的矩阵乘加速方法。
背景技术
随着通用DSP计算性能的不断攀升和通用DSP的广泛应用,通用多核DSP必将成为高性能计算重要的发展方向。矩阵乘是数值计算中最常用的一类操作,很多应用中都包含矩阵乘的计算过程,面向通用多核DSP设计高效的矩阵乘方法可以有效提高应用的计算速度和提升通用多核DSP的计算效率,以达到通用多核DSP的设计目标。
矩阵乘是将被乘矩阵A的一行和乘数矩阵B的一列相乘得到结果矩阵C中的一个元素。面向多核系统的矩阵乘法通常需要将矩阵乘计算过程合理分布在各个处理器计算核之间并行完成计算过程,以提高矩阵乘的运算速度和最大化异构系统的计算效率。
由于处理器设计目标和指令集结构的不同,传统的面向通用处理器的矩阵乘实现技术很难满足面向特定应用而设计的处理器DSP(Digital Signal Processing,数字信号处理)的性能要求,因此,必须面向DSP体系结构定制高效的矩阵乘,以提高矩阵乘的运算速度,最大限度满足处理器设计目标。随着通用多核DSP计算性能的不断攀升和广泛应用,面向通用多核DSP定制高效矩阵乘是DSP在高性能计算领域发展的关键技术。
高效的矩阵乘与处理器体系结构紧密相关。因此,面向通用多核DSP体系结构,如图1所示,如何面向多核DSP结构对矩阵乘进行加速是本领域技术人员亟需解决的技术难题。
发明内容
本发明要解决的技术问题在于:面向通用多核DSP体系结构提出一种面向通用多核DSP的矩阵乘加速方法,以提高矩阵乘的运算速度和最大化通用多核DSP的计算效率。
为了解决上述技术问题,本发明的具体技术方案为:
第一步、DSP配置与初始化。
1.1定义矩阵A的维度为M×K,矩阵B的维度为K×N,则A和B相乘的结果矩阵C的维度为M×N,M,K,N均为正整数;A的元素为apq(0≤p≤M-1,0≤q≤K-1),B的元素为bst(0≤s≤K-1,0≤t≤N-1);
1.2查询体系结构手册获取DSP中DSP计算核,即虚拟处理单元VPU(Virtual Processing Unit)的拓扑结构mg×ng,即DSP中有mg×ng个VPU,物理分布为mg行×ng列,依次编号为(0,0),(0,1),…(0,ng-1),(1,0),(1,1),…(1,ng-1),……(mg-1,0),(mg-1,1),…(mg-1,ng-1);
1.3查询体系结构手册获取每个VPU拥有的浮点乘累加功能部件VPE(Virtual Processing Element)的数目me;
1.4利用系统软件提供的初始化函数(如init)完成DSP初始化;
第二步、对矩阵A和矩阵B进行划分,依据VPU的拓扑结构mg×ng将原矩阵乘运算转换为分块矩阵乘运算,具体方法如下:
2.1将M*K的矩阵A采用矩阵划分方法划分为mg×ng个A块矩阵,A块矩阵表示为Aij(0≤i≤mg-1,0≤j≤ng-1),每个块矩阵的维度为m×k,其中1≤m≤M,1≤k≤K,mg*m+mod(M,mg)=M,其中,mod(M,mg)表示对M用mg求余,ng*k+mod(K,ng)=K,其中,mod(K,ng)表示对K用ng求余;边缘A块矩阵的维度需要特殊处理。具体的矩阵划分方法如下:
2.1.1令A块矩阵行变量i=0;
2.1.2令A块矩阵列变量j=0;
2.1.3令A行坐标变量s=0;
2.1.4令A列坐标变量e=0;
2.1.5令A块矩阵元素行变量m'=0;
2.1.6令A块矩阵元素列变量n'=0;
2.1.7s=m*i+m';
2.1.8e=n*j+n';
2.1.9如果s≤M-1,转2.1.10,否则,矩阵A划分完毕,转2.2;
2.1.10如果e≤K-1,转2.1.11,否则,矩阵A划分完毕,转2.2;
2.1.11选取矩阵A的元素ase组成A块矩阵Aij的元素a'm'n';
2.1.12n'=n'+1;
2.1.13如果n'≤k-1,转2.1.7,否则,转2.1.14;
2.1.14m'=m'+1;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410541958.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:手机保护型健康理疗型珍珠包
- 下一篇:电磁信号屏蔽多功能珍珠包





