[发明专利]一种优化模式自动生成方法及优化装置有效
申请号: | 201510863780.7 | 申请日: | 2015-11-30 |
公开(公告)号: | CN105511867B | 公开(公告)日: | 2019-04-23 |
发明(设计)人: | 卢兴敬;邢明杰;刘雷 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/65;G06F8/70 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 优化 模式 自动 生成 方法 装置 | ||
本发明实施例公开了一种优化模式自动生成方法及优化装置,用于提高工作效率,节约人力资源。本发明实施例方法包括:获取源程序及与所述源程序对应的图形处理器GPU优化程序;确定所述源程序对应的第一基本块集合,及所述GPU优化程序对应的第二基本块集合;建立所述第一基本块集合与所述第二基本块集合的第一对应关系;根据程序变换库及所述第一对应关系输出具有所述第一对应关系的基本块对对应的程序变换序列。本发明实施例还公开了一种优化装置,用于提高工作效率,节约人力资源。
技术领域
本发明涉及通信领域,尤其涉及一种优化模式自动生成方法及优化装置。
背景技术
近年来,随着以图形处理器(Graphics Processing Unit,GPU)技术为基础搭建的计算平台的应用领域变得越来越广泛,更多的程序开发人员需要在GPU平台上进行软件开发,并且需要对以前的非GPU程序进行改写。相较于以前的主流处理器平台,例如Intel或者AMD公司的X86处理器,GPU计算平台具有更复杂的存储结构和并行执行单元集合,这使得在GPU平台上编程变得更复杂,例如,为了使得应用程序充分利用GPU的计算资源,用户必须学习每个GPU计算平台的体系结构特点,并设计具体的优化方法。
在由GPU构建的计算平台上编写程序,目前多使用CUDA或OpenCL编写程序。CUDA可以使用在包含NVIDIA GPU的平台上,而OpenCL可以使用在任意GPU平台上,因此OpenCL的适应性更加广泛,一份用OpenCL写好的代码可以运行在不同的GPU平台上,即在A GPU平台上可以正确执行的OpenCL程序,在B GPU平台上也可以正确执行。
将从其他语言编写的程序(例如C语言程序)变换成一个优化OpenCL程序过程中所进行的各种程序变换序列,称之为优化模式。
如果已经知道某个应用程序适合的优化模式,那么由程序员或者编译器来根据该模式来生成最终的OpenCL程序,将大大降低GPU程序开发的复杂度,从而能够显著提高GPU平台上的程序开发效率。
目前,利用模式来优化应用程序的一个重要技术是采用自适应调优库的形式。由专家程序员将某个或者某一类算法分析总结成库的形式,然后专家在实现这些算法时针对某些计算平台进行有对性的优化以获取尽可能好的性能,最后,将这些算法的优化实现包装成库的形式,并为用户提供一个函数接口。用户通过在应用程序直接调用这些库函数接口来利用这些专家的优化经验。这种技术方案的一个代码表性例子就是BLAS库,BLAS库是一个线性代码库,用以提供标量、向量和矩阵之间的相互运算。
基于自适应调优库的技术方案将优化模式以库的形式提供给用户使用,虽然能够减轻其他程序员的负担,但也优化模式的提取需要人工总结,需要耗费较多人力资源,并且抽象出的优化模式通用性差,通常只能针对某个具体算法有效。
发明内容
本发明实施例提供了一种优化模式自动生成方法及优化装置,用于提高工作效率,节约人力资源。
有鉴于此,本发明第一方面提供了一种优化模式自动生成方法,具体为优化装置获取源程序以及与源程序对应的GPU优化程序,确定源程序对应的第一基本块集合以及GPU优化程序对应的第二基本块集合,再建立第一基本块集合与第二基本块集合的第一对应关系,根据程序变换库以及对应关系输出多个具有该第一对应关系的程序变换序列。
其中,源程序是指未经编译的,案子一定程序设计语言规范书写的人类可读文本文件,通过由高级语言辨析,GPU优化程序是该源程序通过程序变换从多个维度逐渐生成的,从源程序到GPU优化程序所用到的优化序列即程序变换序列,即优化模式。另外,这里的对应关系可以包含对应空的情况,也就是第一基本块集合中的每一个基本块不一定都能在第二基本块集合中找到对应的基本块,当第一基本块集合中的基本块在第二基本块集合中找不到对应的基本块时,该基本块对应空。因此这里具有第一关系的基本块对包含至少一个属于第一基本块集合的基本块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510863780.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动生成APP的方法
- 下一篇:活动参与用户确定方法及装置