[发明专利]面向通用多核DSP的矩阵乘加速方法有效
申请号: | 201410541958.1 | 申请日: | 2014-10-15 |
公开(公告)号: | CN104346318A | 公开(公告)日: | 2015-02-11 |
发明(设计)人: | 迟利华;刘杰;甘新标;晏益慧;徐涵;胡庆丰;蒋杰;李胜国;王庆林;皇甫永硕;崔显涛;周陈 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F17/16 | 分类号: | G06F17/16 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 通用 多核 dsp 矩阵 加速 方法 | ||
1.一种面向通用多核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的拓扑结构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的数目me;
1.4 利用系统软件提供的初始化函数完成DSP初始化;
第二步、对矩阵A和矩阵B进行划分,依据VPU的拓扑结构mg×ng将原矩阵乘运算转换为分块矩阵乘运算;
第三步、每个VPU同时并行执行如下数据迁移操作:
3.1 令A块矩阵行变量i'=0;
3.2 令A块矩阵列变量j'=0;
3.3 核(i',j')从DSP存储空间读A块矩阵Ai'j'到存储器AM,Ai'j'占用的存储空间记为
3.4 令B块矩阵列变量k″=0;
3.5 核(j',k″)从DSP存储空间读B块矩阵Bj'k″到标量数据缓冲区L1D;
3.6 每个VPU并行执行如下向量乘法操作:
3.7 获取A块矩阵Ai'j'的维度m'0×k0,1≤m'0≤m,1≤k0≤k;
3.8 令列长度变量j″=0;
3.9 初始化向量循环变量v=0;
3.10 定义向量循环次数表示下取整;
3.11 初始化广播变量r=0;
3.12 从A块矩阵Ai'j'的第j″列的第v*me个元素开始连续读取me个元素,组成me维的向量
3.13 取矩阵Bj′k′第j″行中的第r个元素广播成一个me维的向量
3.14 向量Va与Vb对应元素相乘,得到矩阵C第j″列连续me个元素的部分乘积,具体相乘规则如下:
3.15 将3.14得到的矩阵C第j″列连续me个元素的部分乘积传回至AM,这me个元素占据的存储空间记为
3.16 如果j″>0,转3.17,否则,转3.18;
3.17 将3.15传回的第j″列连续me个元素的部分乘积与AM中存储的j″-1列连续me个元素的部分乘积对应相加,具体相加方法如下:
3.17.1 令i3=vme+0;
3.17.2 Ci'k″(i3,j″)=Ci'k″(i3,j″)+Ci'k″(i3,j″-1),Ci'k″(i3,j″)表示结果矩阵的块矩阵Ci'k″的元素;
3.17.3 i3=i3+1;
3.17.4 如果i3≤vme+(me-1),转3.17.2,否则,转3.17.5;
3.17.5 将3.17.2累加结果传回至阵列存储器,占用的存储空间记为
3.18 广播变量r=r+1;
3.19 如果r<k0,转3.12,否则,转3.21;
3.20 向量循环变量v=v+1;
3.21 如果v<Vz,转3.11,否则,转3.23;
3.22 定义向量循环余数vr=m0-v*me;
3.23 从A块矩阵Ai'j'的第j″列的第v*me个元素开始连续读取vr个元素构成一个me维的向量的前vr个分量,后面me-vr个分量以0补充,组成向量
3.24 如果v=Vz,转3.13,否则,转3.26;
3.25 j″=j″+1;
3.26 如果j″<n0;转3.9,否则,转3.28;
3.27 k″=k″+1;
3.28 如果k″≤ng-1,转3.5,否则,转3.30;
3.29 j'=j'+1;
3.30 如果j'≤ng-1,转3.3,否则,转3.32;
3.31 i'=i'+1;
3.32 如果i≤mg-1,转3.2,否则,转第四步;
第四步、依据数据分布原理,将各VPU中阵列存储器的结果归并组成结果矩阵C=A×B的计算结果;
第五步、结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410541958.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:手机保护型健康理疗型珍珠包
- 下一篇:电磁信号屏蔽多功能珍珠包