[发明专利]基于图形处理器的矩阵转置优化方法有效
申请号: | 201410017822.0 | 申请日: | 2014-01-15 |
公开(公告)号: | CN103761215A | 公开(公告)日: | 2014-04-30 |
发明(设计)人: | 田卓;樊双丽 | 申请(专利权)人: | 北京新松佳和电子系统股份有限公司 |
主分类号: | G06F17/16 | 分类号: | G06F17/16;G06F9/38;G06T1/20 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 宋焰琴 |
地址: | 100038 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明是基于图形处理器的矩阵转置优化方法,包括将R行S列的输入矩阵转化为一维数组并分配存储空间且拷贝数据;设置二维索引空间;计算工作项的全局标识符、工作组标识符和局部标识符;对矩阵分块并与工作组相对应;在工作组内申请本地内存且将数据复制到本地存储器中并同步等待数据复制完成;计算转置后数据在全局存储器中的行和列索引;计算输出数据在全局存储器及本地存储器中的位置;将本地存储器数据赋值给全局存储器中的一维数组,实现无冲突存储器合并访问;将一维数组拷贝到内存中形成S行R列的转置后的矩阵。本发明实现合并访问和矩阵转置的并行计算,提高程序的执行效率。 | ||
搜索关键词: | 基于 图形 处理器 矩阵 优化 方法 | ||
【主权项】:
一种基于图形处理器的矩阵转置优化方法,其特征在于,所述方法包括如下步骤:步骤S1:将输入矩阵存储在中央处理器的磁盘上并按行读入,生成具有R行S列的二维数组,将R行S列的二维数组转化为含有R×S个元素的一维数组;步骤S2:根据一维数组的大小和输入矩阵的数据类型,计算出一维数组所需要的存储空间;步骤S3:在图形处理器的全局存储器上为一维数组分配大小相同的两片存储空间;将一维数组中的数据拷贝到图形处理器的全局存储器中的存储空间;步骤S4:根据图形处理器具有的N维域模型、工作组和多个工作项,设置具有二维域的索引空间;步骤S5:根据图形处理器内置函数分别对全局存储器中每个工作项的行维度和列维度进行计算,得到全局存储器中每个工作项的行维度和列维度的全局标识符、工作组标识符和局部标识符;步骤S6:设定输入矩阵数据个数与工作项个数相同,将多个工作项形成多个工作组;步骤S7:对输入矩阵进行分块并得到矩阵块,以工作组为单位,将每个矩阵块与工作组相对应;步骤S8:在每个工作组内部的图形处理器的本地存储器中申请一片本地内存;步骤S9:根据每个工作项的行维度和列维度的全局标识符,以工作组为单位,将图形处理器的全局存储器中输入矩阵的数据复制到图形处理器的本地存储器;步骤S10:执行图形处理器的本地存储器的同步等待指令,等待同一工作组中的数据全部复制到图形处理器的本地存储器中,在本地存储器中获得同一工作组中的数据;步骤S11:利用行维度上工作组标识符、工作组的大小和局部标识符计算得到转置后的输出数据在全局存储器中的行索引;利用列维度上工作组标识符、工作组的大小和局部标识符计算得到转置后的输出数据在全局存储器中的列索引;步骤S12:利用所述输出数据在全局存储器中的行索引、列索引和R行的大小计算得到输出数据在全局存储器中的位置;利用输出数据的行维度的局部标识符、列维度的局部标识符和矩阵块的大小计算得到输出数据在本地存储器中的位置;步骤S13:将输出数据在本地存储器位置上的数据赋值给输出数据在全局存储器中的一维数组,获得一维数组中的输出矩阵数据,用以实现无冲突的全局存储器合并访问;步骤S14:将一维数组中的输出矩阵数据拷贝到内存中,对输出矩阵数据按照S行R列的方式进行切分,得到转置后的矩阵,实现矩阵转置在图形处理器平台上的并行、优化。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新松佳和电子系统股份有限公司,未经北京新松佳和电子系统股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410017822.0/,转载请声明来源钻瓜专利网。
- 上一篇:具有视频播放功能的太阳能热水器控制仪
- 下一篇:一种园林景观超声环保净水装置