[发明专利]面向通用多核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维的向量Va=(a(vme+0)j,a(vme+1)j,...,a(vme+(me-1))j);]]>

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的计算结果;

第五步、结束。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410541958.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top