[发明专利]基于GPU和CPU协同运算的并行数值模拟方法和系统无效
申请号: | 201110136539.6 | 申请日: | 2011-05-25 |
公开(公告)号: | CN102253919A | 公开(公告)日: | 2011-11-23 |
发明(设计)人: | 李亚林;何光明;胡善政;陈爱萍;刘鸿;敬龙江;龙资强;耿春 | 申请(专利权)人: | 中国石油集团川庆钻探工程有限公司 |
主分类号: | G06F15/167 | 分类号: | G06F15/167 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 郭鸿禧;张军 |
地址: | 610051 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 gpu cpu 协同 运算 并行 数值 模拟 方法 系统 | ||
技术领域
本发明涉及数值模拟技术,更具体地讲,涉及一种并行数值模拟方法及使用该方法的系统。
背景技术
数值模拟是一种对复杂的工程和物理系统进行仿真的技术,它以电子计算机为手段,通过数值计算和图像显示的方法,达到对工程问题和物理问题乃至自然界各类问题研究的目的,其应用范围包括石油地球物理勘探等领域。
近年,随着工程和物理问题变得日趋复杂,数值模拟的数据运算量也在日益增大。例如,在将数值模拟应用到石油地球物理勘探领域中时,通常需要进行大规模的数据运算。预计典型地震勘探项目的数据处理计算量将在2010、2015年分别达到5x1021、3x1022次浮点运算,数据量预计将在2010、2015年分别达到5T和50T的规模,面对石油物探技术对于高性能计算巨大的需求,在进一步提高计算性能、降低系统建设与运行维护成本等方面,IT产业与石油工业共同面临着一系列的挑战。
可编程图形处理单元(GPU,Graphic Processing Unit)已发展成为一种高度并行化、多线程、多核的处理器,具有杰出的计算功率和极高的存储器带宽,能够适应这种大规模数据运算的需要。在传统CPU由单核CPU向多核CPU发展的同时,基于GPU平台的通用计算技术也得到了重大发展,主要是应用GPU的高性能并行处理能力来实现科学计算。CPU和GPU之间的浮点功能之所以存在这样的差异,原因在于GPU专为运算密集型、高度并行化的运算而设计。GPU的高性能来源于其大规模的并行处理单元,这种设计能使更多晶体管用于数据处理,而非数据缓存和流控制。更确切地说,GPU专用于解决可表示为数据并行运算的问题:在许多数据元素上并行执行程序,具有极高的计算密度(数学运算与存储器运算的比率)。因此GPU特别适合于进行密集型数据处理和并行运算,对于需要进行大规模数据运算的数值模拟方法提供了良好的平台。充分利用GPU的并行处理能力,可以将其作为密集运算加速器来为高性能运算提供补充,从而可以在现有的通用计算平台的基础上实现高性价比的高性能运算解决方案。
然而,现有的CPU与GPU的协同运算主要是通过将CPU和GPU两种不同架构的处理器结合在一起,从而仅组成硬件上的协同并行模式,这种方式难以灵活有效地利用CPU和GPU的协同运算来进行数据处理。
发明内容
本发明的目的在于提供一种基于GPU和CPU协同运算的并行数值模拟方法和系统,通过所述方法和系统,能够有效地控制CPU与GPU两者的协作,充分发挥GPU处理性能高的优势,使得CPU与GPU良好地配合,从而实现数值模拟过程整体上的优化。
根据本发明的一方面,提供了一种基于GPU和CPU协同运算的并行数值模拟系统,包括:并行模块选择单元,用于从数值模拟算法的各个函数模块中选择适合于进行并行运算的函数模块,并促使CPU执行剩余函数模块;并行粒度确定单元,用于确定由并行模块选择单元选择的各个函数模块的适应于GPU的最优并行粒度,并将确定了最优并行粒度的函数模块移植到GPU中,以由GPU使用移植的函数模块进行数据并行运算处理。
所述并行模块选择单元可包括:计时单元,用于对数值模拟算法的各个函数模块所消耗的处理器时间进行计时,以找出运算时间比重最大的一个或多个函数模块,其中,并行模块选择单元可对所述一个或多个函数模块之间的依赖关系进行分析,找出可以并行的部分。
所述计时单元可通过为数值模拟算法的每个函数模块增加计时器来进行计时。
所述计时单元可通过使用程序分析工具gprof来对数值模拟算法的各个函数模块进行计时。
所述并行粒度确定单元可包括:算法结构调整单元,用于在将适合进行并行运算的函数模块移植到GPU时,根据需要调整各函数模块的算法结构,以获取更大的并行粒度。
所述并行粒度确定单元还可包括:函数模块拆分单元,用于将具有多个并行粒度的函数模块拆分为若干个内核函数,以使每个内核函数具有其最大并行粒度。
如果所述内核函数之间存在依赖关系,则可不进行拆分。
所述算法结构调整单元还可用于在进行函数模块移植时,根据需要调整数值模拟算法的程序结构,以降低显存和内存的数据存取次数,减少数据同步。
所述系统还可包括:数据存取优化单元,用于在进行数据运算时通过优化数据存取方式来提高数据运算效率。
所述数据存取优化单元可通过将图形处理单元并行处理单元内线程访问的地址分配集中在同一块来优化数据存取方式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国石油集团川庆钻探工程有限公司,未经中国石油集团川庆钻探工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110136539.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:生物组织固定剂及其制备方法
- 下一篇:设有光源的触摸屏