[发明专利]一种基于众核处理器的多重积分计算方法无效
申请号: | 201210298205.3 | 申请日: | 2012-08-21 |
公开(公告)号: | CN102841881A | 公开(公告)日: | 2012-12-26 |
发明(设计)人: | 刘羽 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F17/10 | 分类号: | G06F17/10 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 250014 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 处理器 多重 积分 计算方法 | ||
技术领域
本发明涉及高性能计算领域在基础数值计算方面的应用,具体涉及一种使用蒙特卡洛(Monte Carlo)方法,具体地说是利用GPU等众核处理器来加速多重乃至高重数值积分求解的方法。
背景技术
随着人类社会的不断进步,计算机技术也得到了长足的发展,人们认识和探索自然界的手段也不再仅仅局限在实验和理论研究这两个方面,而是越来越多的使用计算机来模拟,使得计算已成为当今科学研究的第三种有效手段。此外,在工程技术领域,人们也越来越多的使用大规模模拟和计算来加速工程的进度。但无论是从事科学研究还是工程技术、无论使用的是何种超级计算机,所有的问题归根结底都是数值计算问题,即:线性和非线性方程组求解、向量和矩阵运算、插值、数值积分等等。对于很多科学问题,计算频繁和耗时最多的往往是数值积分,特别是多重的数值积分,如:二维体系下的两体相互作用(四重积分),自由电子气或晶格中的库仑积分(六重积分),等等。
长久以来,对于单重积分人们逐步发展了很多种数值积分的计算方法,如:辛卜生求积法、龙贝格求积法、高斯求积法等等,这些方法的效率都比较高,特别是高斯求积法。但对于多重积分,一直以来没有特别好的求解方法,用的较多的有高斯多重积分求积法,但是对于被积函数非常复杂的情况(如隐函数等)或高重积分,使用高斯求解的效率很低,对于一些需要计算数以万计的多重积分的应用领域,如:计算凝聚态物理,消耗的时间往往是无法忍受的。鉴于上述困难,人们在数值计算高重积分的时候往往选择使用蒙特卡洛方法。蒙特卡洛方法原理简单,也容易实现,但使用蒙特卡洛方法需要足够多的靶点才能使积分的结果达到一定的精度,这在善长串行计算的CPU上运行时,所消耗的时间也往往是无法忍受的。
GPU作为一种常用的众核处理器,其数以百计的浮点运算核心、高显存带宽,决定了GPU非常适合用来加速一些线程间通信量较小的大规模并行程序,而蒙特卡洛方法恰恰具有这样的特性。首先,蒙特卡洛方法所必需的随机数的生成是线程无干性的;其次,多重被积函数值的求解也是线程无干的,此外这些处理过程都是计算密集型的,因此我们可以充分利用GPU来加速多重数值积分的计算。
发明内容
本发明的目的是提供一种基于众核处理器的多重积分计算方法。
本发明的目的是按以下方式实现的,利用随机数生成以及蒙特卡洛方法中各打靶点间数据无关性的特点,将随机数的生成部分和打靶点函数值计算这两部分计算密集的块交由GPU来完成,将对积分精度以及收敛性判断的操作交由CPU来完成,从而有效的加速多重数值积分的求解,程序架构和组织流程为:
1)设置多重积分的计算精度、第一次计算所需要计算的被积函数值个数n及精度所需新增被积函数值个数δn;
2)调用GPU设备端函数生成N*M个随机数, m为多重积分的维度,将结果存放在设备端显存的线性数组Array中;
3)划分和生成GPU线程空间;
4)调用设备端函数(kernel函数)计算多重被积函数值并归约。为避免访存冲突,计算第n个被积函数值时的第m个靶点从线性数组Array[M*N+n]中选取;
5)将计算完成的多重积分值拷回主内存,并在CPU端判断结果是否已达到所要求精度,以决定是否需要进一步计算;
6)完成计算。
存储在显存中的随机数,先将其扩展到函数的变量空间,然后在GPU的各核上分别计算被积函数的值,并对每个block内的线程归约。
积分精度以及收敛性判断是将计算完成的积分结果返回CPU端,并由CPU判断是否满足所要求的计算精度以决定是否生成新的靶点以进一步计算。
本发明的有益效果是:本发明充分剖析了使用蒙特卡洛方法的特点,并充分利用了计算机中的各种计算资源,大幅加速了多重积分的计算速度,使得一些需要很长时间才能完成的科学计算时间大大缩短,并且可以轻松的移植到个人桌面超算平台上,极大的方便了从事大规模计算模拟的科研技术人员。
附图说明
图1是问题空间与GPU线程对应关系;
图2是本发明的算法流程图。
具体实施方式
参照说明书附图对本发明的方法作以下详细地说明。
为了使本发明的目的、技术方案和优势表述清晰、明了,我们结合附图,对本发明中的关键步骤进行详细说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210298205.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子设备的解锁装置及其解锁方法
- 下一篇:汉字输入方法及实现该方法的键盘