[发明专利]面向GPU的细粒度并行应用映射方法无效

专利信息
申请号: 201210244494.9 申请日: 2012-07-16
公开(公告)号: CN102799416A 公开(公告)日: 2012-11-28
发明(设计)人: 王志英;甘新标;沈立;黄立波;陆洪毅;朱琪;苏博;郑重;徐帆;魏雄 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: G06F9/38 分类号: G06F9/38;G06F15/80
代理公司: 国防科技大学专利服务中心 43202 代理人: 郭敏
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种面向GPU的细粒度并行应用映射方法,目的是解决现有映射方法计算粒度随机确定导致GPU+CPU组成的异构系统效能低和不能充分利用应用程序特征的缺陷。技术方案是构建由GPU+CPU组成的异构系统,安装GPU运行环境并启动GPU进行初始化工作,CPU负责将应用映射输入集读入内存,启动API函数将应用映射输入集传输至GPU显存,对于多维数据,先将多维数组转化成二维数组,再将二维数组像素化,最后采用GPU+CPU异构计算系统实现面向n维数据结构输入集的细粒度像素级并行应用映射。采用本发明能充分利用应用程序特征,任务划分明确,并行粒度小,能最大化CPU+GPU异构计算系统的效能,性能加速比显著。
搜索关键词: 面向 gpu 细粒度 并行 应用 映射 方法
【主权项】:
1.一种面向GPU的细粒度并行应用映射方法,包括以下步骤:第一步,构建由GPU+CPU组成的异构系统,其中CPU与GPU的数据交互通过PCI-E通道来完成,GPU包括GPU显存和K个流多处理器SM处理单元,每个SM由m个流处理器、共享存储器、常量Cache和纹理Cache组成;K为正整数,m为正整数;第二步,安装GPU运行环境并启动GPU进行初始化工作;第三步,CPU负责将n维应用映射输入集Pn[M1][M2]…[Mn]读入内存,Pn[M1][M2]...[Mi]...[Mn]是一个n维数组,n为正整数,数组的第一维的维度即该维包含元素的个数为M1,第二维的维度为M2,……,第i维的维度为Mi……,第n维的维度为Mn;当n≥2时,n≥i≥2;第四步,启动GPU数据传输应用编程接口API函数将内存的Pn[M1][M2]...[Mi]...[Mn]传输至GPU显存;其特征在于还包括以下步骤:第五步,若n=1,转第七步;若n≥2,执行第六步;第六步,对Pn[M1][M2]...[Mi]...[Mn]进行像素化,方法如下:6.1n维数组归一化,即将Pn[M1][M2]...[Mi]...[Mn]转化为一个等价的二维数组,方法如下:6.1.1计算Pn[M1][M2]...[Mi]...[Mn]包含的元素总数表示M1,M,2…,Mn连乘;6.1.2将Pn[M1][M2]...[Mi]...[Mn]的total个元素依次赋值给二维数组P2[M1][total/M1];6.2对二维数组P2[M1][total/M1]进行像素化,方法如下:用p[s][r]表示二维数组P2[M1][total/M1]第s列第r行的元素,其中0≤s≤M1-1并且0≤r≤(total/M1)-1;对于高度为M1,宽度为total/M1的图像I,用I(s,r)表示图像第s列第r行的像素:6.2.1初始化s=0,r=0;6.2.2若s<M1并且r<total/M1,将二维数组第s列第r行的元素赋值给图像I第s列第r行的像素,即I(s,r)=p[s][r];6.2.3循环变量s加一,即s=s+1;6.2.4循环变量r加一,r=r+1;第七步,采用GPU+CPU异构计算系统实现面向n维数据结构输入集的细粒度像素级并行应用映射,具体方法如下:7.1计算图像I的像素总数pixel,若n=1,则pixel=M1,执行7.2;若n≥2,则pixel=M1×(total/M1),执行7.2;7.2计算异构系统包含处理器核心的总数core=m×K;7.3若pixel≤core,启动pixel个独立的GPU线程,将每一个像素分派给一个独立的GPU线程,一个流处理器运行一个独立的GPU线程,GPU线程运行完后转7.9;若pixel>core,执行7.4;7.4通过查询GPU属性获取一个SM上可以同时运行的最大线程数tmax,通常tmax≥256;7.5定义显然t≥m,其中min{a,b}表示取a,b中的最小者;7.6将t个线程合并组成一个线程块,则线程块的总数为7.7若block≤K,选中block个SM,将每个线程块分派到一个流多处理器SM上,由于t≥m,SM的m个流处理器并行启动m个线程,执行完成后再启动下一轮m个线程,直至块内的所有线程执行完;若block>K,执行7.9;7.8启动K个流多处理器SM运行K线程块,SM的m个流处理器并行启动m个线程,执行完成后再启动下一轮m个线程,直至块内的所有线程执行完;然后再启动下一轮K个流多处理器SM运行K线程块,直至block个线程块全部运行完成。7.9GPU将处理结果返回给CPU,GPU结束运行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201210244494.9/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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