[发明专利]一种基于CUDA并行环境的GPU程序优化方法有效
申请号: | 201210444220.4 | 申请日: | 2012-11-08 |
公开(公告)号: | CN102981807A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 孟洋;李胜;汪国平 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 冯艺东 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于CUDA并行环境的GPU并行程序优化方法,定义了GPU程序内核的性能瓶颈,根据级别包括全局储存器访问延迟、共享存储器访问冲突、指令流水线冲突、指令瓶颈。并为每个性能瓶颈提出实际可操作的判定标准和瓶颈优化解决方法:全局储存器访问延迟优化方法:转存共享存储器、访问归并、提高线程级并行度、提高指令级并行度;共享存储器访问冲突和指令流水线冲突优化方法:解决bank conflict,转存寄存器、提高线程级并行度、提高指令级并行度;指令瓶颈:指令替换和减少分支。本发明为CUDA程序编写和优化提供依据,帮助程序编写者方便得找到CUDA程序中的性能瓶颈,并针对性能瓶颈做出高效有针对性的优化,使得CUDA程序可以更大限度的发挥GPU设备的计算能力。 | ||
搜索关键词: | 一种 基于 cuda 并行 环境 gpu 程序 优化 方法 | ||
【主权项】:
一种基于CUDA并行环境的GPU程序优化方法,其步骤包括:1)根据CUDA上的程序分析工具对GPU程序进行检测,得到程序需求占有率并判断此时程序是否存在全局存储器访问瓶颈,同时对所述全局存储器访问瓶颈进行消除,进入步骤2);2)根据共享存储器中bank‑conflicts访问冲突的数目判断所述步骤1)的GPU程序中是否存在共享存储器访问瓶颈,同时消除所述共享存储器访问瓶颈和新生成的全局存储器访问瓶颈,进入步骤3);3)使用CUDA的程序分析工具在所述步骤2)的GPU程序提取出性能参数,判断是否存在流水线指令执行依赖瓶颈并消除该指令流水线冲突,得到实际IPC可达到指令瓶颈IPC的GPU程序进入步骤4);4)在所述步骤3)中若GPU程序实际IPC达到指令瓶颈IPC,则进行指令瓶颈优化处理;5)重复遍历以上步骤1)—4),直至所述GPU程序不存在上述步骤2)‑4)中的任意一项瓶颈,完成GPU程序优化。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210444220.4/,转载请声明来源钻瓜专利网。