CN104375971A - 一种便携的可移动积分计算器设备实现方法 - Google Patents

一种便携的可移动积分计算器设备实现方法 Download PDF

Info

Publication number
CN104375971A
CN104375971A CN201410678515.7A CN201410678515A CN104375971A CN 104375971 A CN104375971 A CN 104375971A CN 201410678515 A CN201410678515 A CN 201410678515A CN 104375971 A CN104375971 A CN 104375971A
Authority
CN
China
Prior art keywords
thread
module
integral
calculating
gpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410678515.7A
Other languages
English (en)
Inventor
刘羽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410678515.7A priority Critical patent/CN104375971A/zh
Publication of CN104375971A publication Critical patent/CN104375971A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Power Sources (AREA)

Abstract

本发明公开了一种便携的可移动积分计算器设备实现方法,其结构包括计算模块、电源模块、输出模块和输入模块,其中:计算模块,通过随机数生成以及蒙特卡洛方法中各打靶点间数据无关性,将随机数的生成部分和打靶点函数值计算这两部分计算密集的块交由GPU来完成,将对积分精度以及收敛性判断操作交由CPU来完成,从而有效的加速数值积分的求解;电源模块,连接计算模块,为整个积分计算器设备提供供电;输入模块,连接计算模块,为积分计算器的输出按键;输出模块,连接计算模块并将计算模块的计算结果输出。该一种便携的可移动积分计算器设备实现方法与现有技术相比,极大的加速数值积分的求解速度,从而保证了积分计算器的高效性。

Description

一种便携的可移动积分计算器设备实现方法
技术领域
本发明涉及计算器领域,具体地说是一种实用性强、便携的可移动积分计算器设备实现方法。
背景技术
在现代的科技技术中积分一直占据着举足轻重的地位,然后遗憾的是绝大多数的积分运算都是没有解析解的,这样就迫使人们不得使用数据的方法来计算积分的值。对于低维积分来讲,计算量并不算大,但高维积分计算量是惊人的。对于很多科学问题,计算频繁和耗时最多的往往是数值积分,特别是多重的数值积分,如:二维体系下的两体相互作用(四重积分),自由电子气或晶格中的库仑积分(六重积分),等等。
正是因为计算量大,人们多数情况下不得不使用计算机甚至是超级计算机来完成积分计算,因此在市场上出售的计算器中几乎都没有积分计算功能。而这样的功能确是工农业生产中急需的,很多情况下没有必要放到大型计算机上仅仅完成一个积分计算。
得益于对快速积分计算的需求,对于单重积分人们逐步发展了很多种数值积分的计算方法,如:辛卜生求积法、龙贝格求积法、高斯求积法等等,这些方法的效率都比较高,特别是高斯求积法。但对于多重积分,一直以来没有特别好的求解方法,用的较多的有高斯多重积分求积法,但是对于被积函数非常复杂的情况(如隐函数等)或高重积分,使用高斯求解的效率很低。鉴于上述困难,人们在数值计算高重积分的时候往往选择使用蒙特卡洛方法。蒙特卡洛方法原理简单,也容易实现,但使用蒙特卡洛方法需要足够多的靶点才能使积分的结果达到一定的精度,这在善长串行计算的CPU上运行时,所消耗的时间也往往是无法忍受的。这也是市场上没有积分计算器的主要原因。
我们知道GPU作为一种常用的众核处理器,其数以百计的浮点运算核心、高显存带宽,决定了GPU非常适合用来加速一些线程间通信量较小的大规模并行程序,而蒙特卡洛方法恰恰具有这样的特性。首先,蒙特卡洛方法所必需的随机数的生成是线程无干性的;其次,被积函数值的求解也是线程无干的,此外这些处理过程都是计算密集型的,因此我们可以充分利用GPU来加速数值积分的计算。
此外,由于现在的车用锂离子电池具有超大的电容量,完全可以支持GPU卡的用电消耗。因此便携的野外用积分计算器的出现就成为了一种可能。基于此,现提供一种实用性强、便携的可移动积分计算器设备实现方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、便携的可移动积分计算器设备实现方法。
一种便携的可移动积分计算器设备实现方法,其结构包括计算模块、电源模块、输出模块和输入模块,其中:
计算模块,通过随机数生成以及蒙特卡洛方法中各打靶点间数据无关性,将随机数的生成部分和打靶点函数值计算这两部分计算密集的块交由GPU来完成,将对积分精度以及收敛性判断操作交由CPU来完成,从而有效的加速数值积分的求解;
电源模块,连接计算模块,为整个积分计算器设备提供供电,该电源模块使用锂离子电池,同时配备内置的充电接口;
输入模块,连接计算模块,为积分计算器的输出按键,包括基本的数字、字母、运算符号以及积分符号的键值,通过它向计算器设备输入被积函数并计算,提供数据、函数、参数的输入功能,固化安装在整个计算器设备上;
输出模块,连接计算模块并将计算模块的计算结果输出,该输出模块由液晶显示板组成,固化安装在计算器设备上。
所述计算模块的具体计算过程为:
首先计算积分参数输入:设置积分的计算精度、第一次计算所需要计算的被积函数值个数n及精度所需新增被积函数值个数δn;
在GPU上生成随机数:调用GPU设备端函数生成n X m个随机数,其中m为积分的维度;并将结果存放在设备端显存的线性数组Array中;
划分和生成GPU线程空间;
调用函数kernel函数计算被积函数值并归约,为避免访存冲突,计算第n个被积函数值时的第m个靶点从线性数组                                                中选取;
将计算完成的积分值拷回主内存,并在CPU端判断结果是否已达到所要求精度,以决定是否需要进一步计算;
完成计算并将计算结果输出到输出模块。
所述GPU的线程空间分为线程网格grid,线程块block和线程thread三重结构,设定线程空间的grid和block均为二维结构,即:block(q, p)和thread(n, m);GPU内的每一个流多处理器SM中有至少6个warp,这里的warp是指线程块block分割后的线程束,故线程块block的数量是GPU中流多处理器SM数量的整数倍,线程thread的数量是每个流多处理器SM中流处理器SP数量的整数倍,此时每个被积函数值的计算均由一个线程完成,各线程块block及线程thread之间无数据通信。
本发明的一种便携的可移动积分计算器设备实现方法,具有以下优点:
该发明的一种便携的可移动积分计算器设备实现方法充分剖析了使用蒙特卡洛方法的特点,并充分考虑了各种计算资源的特征,大幅加速了数值积分的计算速度,使得一些需要很长时间才能完成的计算时间大大缩短,从而实现积分计算的计算器化和便携化,极大的方便了从事工农业生产的科研技术人员,丰富公司的产品线,而且也在一定程度上实现了专用化的高性能计算专用机,提升公司的产品竞争力,实用性较强,适用范围广泛,易于推广。
附图说明
附图1为本发明的积分空间与GPU线程对应图。
附图2为本发明的计算模块计算过程图。
附图3为本发明的设备结构图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
本发明提供一种便携的可移动积分计算器设备实现方法,如附图3所示,其结构包括计算模块、电源模块、输出模块和输入模块,其中:
计算模块,为整个计算器设备的核心模块,其主要利用众核处理器加速数值积分求解的方法。根据随机数生成以及蒙特卡洛方法中各打靶点间数据无关性的特点,其计算过程分为三个主要步骤:随机数生成、靶点的被积函数值计算、精度和收敛性判断。对于前两部分由于需要生成和计算的靶点数目众多(数百万乃致千万以上),要求较多的计算资源和较高的存储器带宽,因此我们可以将这部分计算移植到GPU上来完成。对于最后一部分,即精度和收敛性判断,是对是否完成计算并达到所要求精度的判断,它需要一些判断和分支操作,因此我们将其交给CPU来完成,从而有效的加速数值积分的求解。
电源模块,连接计算模块,为整个积分计算器设备提供供电,为了便携起见,本发明主要使用锂离子电池,同时配备内置充电设备接口。
输入模块,连接计算模块,该模块为积分计算器的输出按键,它主要起提供数据、函数、参数的输入功能,一般固化在计算模块设备上。
输出模块,连接计算模块并将计算模块的计算结果输出,该输出模块由液晶显示板组成,固化安装在计算器设备上。
如附图1所示,给出了本发明所涉及的积分空间与GPU中计算线程的对应关系。一般来讲,使用蒙特卡洛方法需要抽样足够多的靶点才能使计算的结果满足一定的精度,因此需要生成的靶点和需要计算的被积函数值数目巨大。由于各独立的被积函数值之间是无数据相关性的,因此我们把这些独立的函数值所构成的空间称之为问题空间。
按现行的CUDA架构,所述GPU的线程空间分为线程网格grid,线程块block和线程thread三重结构,设定线程空间的grid和block均为二维结构,即:block(q, p)和thread(n, m);GPU内的每一个流多处理器SM中有至少6个warp,这里的warp是指线程块block分割后的线程束,故线程块block的数量是GPU中流多处理器SM数量的整数倍,线程thread的数量是每个流多处理器SM中流处理器SP数量的整数倍,此时每个被积函数值的计算均由一个线程完成,各线程块block及线程thread之间无数据通信,因此附图1所示的问题空间到线程的简单映射可行且高效。
进一步的,所述计算模块的具体计算过程如附图2所示:
首先计算积分参数输入:设置积分的计算精度、第一次计算所需要计算的被积函数值个数n及精度所需新增被积函数值个数δn;
在GPU上生成随机数:调用GPU设备端函数生成n X m个随机数,其中m为积分的维度;并将结果存放在设备端显存的线性数组Array中;
划分和生成GPU线程空间;
调用函数kernel函数计算被积函数值并归约,为避免访存冲突,计算第n个被积函数值时的第m个靶点从线性数组中选取;
将计算完成的积分值拷回主内存,并在CPU端判断结果是否已达到所要求精度,以决定是否需要进一步计算;
完成计算并将计算结果输出到输出模块。
在实际设计及制作过程中,如附图3所示给出的结构示意图。其中计算模块即上述图1和图2描述的计算主体,它包括CPU、GPU、内存储器等部件。电源模块为积分计算器的能量供应单元,它主要是由锂离子电池组成。对于现在的锂离子电池,如三元锂电池,可在3.0kg的重量下容纳0.5千瓦时的电能,它可以有效驱动本发明中的计算主体工作3-4小时,从而实现了积分计算器装置的便携。电源模块由于体积小,一般安装并固定于计算模块内部,同时电源模块还应该包含简易的充电接口。输出模块主要是完成对输入参数或计算结果的显示,它一般由液晶显示板组成,并固化在计算模块的外壳上。输入模块是积分计算器系统的参数输入设备,它包括基本的数字、字母、运算符号以及积分符号等键值,通过它可以向计算设备输入被积函数并计算。输入模块一般也是固化在计算模块的外壳上。
本发明所采用的装置具有体积小、重量轻等特点,且本发明的算法可以极大的加速数值积分的求解速度,从而保证了积分计算器的高效性。该装置对于工农业生产,特别是厂房、野外的作业施工意义重大,可以极大的提升工农业生产的效率。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种便携的可移动积分计算器设备实现方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (3)

1.一种便携的可移动积分计算器设备实现方法,其特征在于,其结构包括计算模块、电源模块、输出模块和输入模块,其中:
计算模块,通过随机数生成以及蒙特卡洛方法中各打靶点间数据无关性,将随机数的生成部分和打靶点函数值计算这两部分计算密集的块交由GPU来完成,将对积分精度以及收敛性判断操作交由CPU来完成,从而有效的加速数值积分的求解;
电源模块,连接计算模块,为整个积分计算器设备提供供电,该电源模块使用锂离子电池,同时配备内置的充电接口;
输入模块,连接计算模块,为积分计算器的输出按键,包括基本的数字、字母、运算符号以及积分符号的键值,通过它向计算器设备输入被积函数并计算,提供数据、函数、参数的输入功能,固化安装在整个计算器设备上;
输出模块,连接计算模块并将计算模块的计算结果输出,该输出模块由液晶显示板组成,固化安装在计算器设备上。
2.根据权利要求1所述的一种便携的可移动积分计算器设备实现方法,其特征在于,所述计算模块的具体计算过程为:
首先计算积分参数输入:设置积分的计算精度、第一次计算所需要计算的被积函数值个数n及精度所需新增被积函数值个数δn;
在GPU上生成随机数:调用GPU设备端函数生成n X m个随机数,其中m为积分的维度;并将结果存放在设备端显存的线性数组Array中;
划分和生成GPU线程空间;
调用函数kernel函数计算被积函数值并归约,为避免访存冲突,计算第n个被积函数值时的第m个靶点从线性数组                                                中选取;
将计算完成的积分值拷回主内存,并在CPU端判断结果是否已达到所要求精度,以决定是否需要进一步计算;
完成计算并将计算结果输出到输出模块。
3.根据权利要求2所述的一种便携的可移动积分计算器设备实现方法,其特征在于,所述GPU的线程空间分为线程网格grid,线程块block和线程thread三重结构,设定线程空间的grid和block均为二维结构,即:block(q, p)和thread(n, m);GPU内的每一个流多处理器SM中有至少6个warp,这里的warp是指线程块block分割后的线程束,故线程块block的数量是GPU中流多处理器SM数量的整数倍,线程thread的数量是每个流多处理器SM中流处理器SP数量的整数倍,此时每个被积函数值的计算均由一个线程完成,各线程块block及线程thread之间无数据通信。
CN201410678515.7A 2014-11-24 2014-11-24 一种便携的可移动积分计算器设备实现方法 Pending CN104375971A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410678515.7A CN104375971A (zh) 2014-11-24 2014-11-24 一种便携的可移动积分计算器设备实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410678515.7A CN104375971A (zh) 2014-11-24 2014-11-24 一种便携的可移动积分计算器设备实现方法

Publications (1)

Publication Number Publication Date
CN104375971A true CN104375971A (zh) 2015-02-25

Family

ID=52554895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410678515.7A Pending CN104375971A (zh) 2014-11-24 2014-11-24 一种便携的可移动积分计算器设备实现方法

Country Status (1)

Country Link
CN (1) CN104375971A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294270A (zh) * 2016-08-03 2017-01-04 浪潮(北京)电子信息产业有限公司 一种车载可编程计算器系统
CN109783761A (zh) * 2019-01-25 2019-05-21 武汉轻工大学 三重积分计算方法、装置、终端设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653226B2 (en) * 2004-04-21 2010-01-26 Siemens Medical Solutions Usa, Inc. Flexible generation of digitally reconstructed radiographs
CN102201036A (zh) * 2011-05-16 2011-09-28 四川大学 Gpu加速剂量计算中微分卷积积分算法的实现
CN102841881A (zh) * 2012-08-21 2012-12-26 浪潮电子信息产业股份有限公司 一种基于众核处理器的多重积分计算方法
CN203204613U (zh) * 2013-03-30 2013-09-18 西安科技大学 一种多功能计算器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7653226B2 (en) * 2004-04-21 2010-01-26 Siemens Medical Solutions Usa, Inc. Flexible generation of digitally reconstructed radiographs
CN102201036A (zh) * 2011-05-16 2011-09-28 四川大学 Gpu加速剂量计算中微分卷积积分算法的实现
CN102841881A (zh) * 2012-08-21 2012-12-26 浪潮电子信息产业股份有限公司 一种基于众核处理器的多重积分计算方法
CN203204613U (zh) * 2013-03-30 2013-09-18 西安科技大学 一种多功能计算器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. KANZAKI等: ""Monte Carlo integration on GPU"", 《THE EUROPEAN PHYSICAL JOURNAL C》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294270A (zh) * 2016-08-03 2017-01-04 浪潮(北京)电子信息产业有限公司 一种车载可编程计算器系统
CN109783761A (zh) * 2019-01-25 2019-05-21 武汉轻工大学 三重积分计算方法、装置、终端设备及可读存储介质

Similar Documents

Publication Publication Date Title
Gourdain et al. High performance parallel computing of flows in complex geometries: I. methods
Cramer et al. Openmp programming on intel r xeon phi tm coprocessors: An early performance comparison
Rajovic et al. Experiences with mobile processors for energy efficient HPC
CN103425833A (zh) 一种基于熵格子波尔兹曼模型的并行流体计算实现方法
CN103246541A (zh) 自动并行化多级并行代价评估方法
Krawezik et al. Accelerating the ANSYS direct sparse solver with GPUs
CN105243185A (zh) 一种基于蒙特卡洛法的张拉整体结构找形方法
Anzt et al. Optimization of power consumption in the iterative solution of sparse linear systems on graphics processors
Anzt et al. Analysis and optimization of power consumption in the iterative solution of sparse linear systems on multi-core and many-core platforms
CN102902657A (zh) 一种利用gpu加速fft的方法
CN104375971A (zh) 一种便携的可移动积分计算器设备实现方法
CN102841881A (zh) 一种基于众核处理器的多重积分计算方法
Zhou et al. Hands-on performance tuning of 3D finite difference earthquake simulation on GPU fermi chipset
Liang et al. Overlapping communication and computation of GPU/CPU heterogeneous parallel spatial domain decomposition MOC method
Gan et al. Scaling and analyzing the stencil performance on multi-core and many-core architectures
Che et al. Petascale scramjet combustion simulation on the Tianhe-2 heterogeneous supercomputer
CN104298871A (zh) 一种辐射防护中基于gpu加速的体素人体模型剂量评估加速方法
Alvarez et al. Strategies for the heterogeneous execution of large-scale simulations on hybrid supercomputers
Wyrzykowski et al. Using blue gene/P and GPUs to accelerate computations in the EULAG model
Zhang et al. Cpu-gpu hybrid parallel binomial american option pricing
Grasseau et al. Matrix element method for high performance computing platforms
Shukla et al. Multi-science applications with single codebase-GAMER-for massively parallel architectures
CN103279449A (zh) 大规模异构众核处理器平台的效率核算方法
Tian et al. GPU-accelerated computations for supersonic flow modeling on hybrid grids
Delplace et al. Comparing the performance and power usage of gpu and arm clusters for map-reduce

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150225