设为首页收藏本站优领域

优领域

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
优领域 优领域 IT领域 服务器 其它 查看内容

MPI 并行计算应用

2015-10-14 11:51| 发布者: dzly| 查看: 568| 评论: 0|原作者: 崔永明,李梦妮

摘要: 介绍了MPI 并行计算的基本概念和搭建并行计算集群的方法,使用计算值的算法对系统的性能进行了验证,结 果表明系统可以实现高性能计算的并行处理。
  当前MPI(Message Passing Interface)是广泛使用的并行开发环境,MPI 是一种并行计算信息传递的接口标准,主要由MPI 论坛制定,实现此标准的目的是改善并行程序的开发效率。MPI 如今已成为产业界普遍支持的并行计算标准[1]。
  1 并行环境搭建
  MPICH 是一个免费软件,它是随着mpi 标准的制定而推出的一种实现方式[3],并且已经成为了事实上的标准。本系统的搭建的软硬件规格为:10台配置完全相同的PC 计算机,windows 7 32位操作系统,MPICH软件,visual stdio2010
  软件。
  1.1 并行计算环境系统搭建步骤
  (1)安装MPICH2软件:在安装过程中,会要求设置一个passphrase。选择默认即可(behappy),记住此字符,选择权限类型为everyone。安装完成之后将安装路径加入到系统环境变量中;(2)检查smpd 是否安装:将cmd.exe 复制到MPICH2 的安
  装路径下的bin 目录中,以管理员身份运行cmd.exe,进入之后,输入smpd.exe -install -phrase behappy;出现“MPICH2 Process
  Manager,Argonne National Lab installed.”表示smpd.exe安装成功;(3)对集群中的计算机进行注册:打开mpich2 的安装路径,
  以管理员身份运行“wmpiregister.exe”,输入用户名,密码(用户名必须是管理员账户名称,密码可以使任意密码,但是所有计算机必须注册的是同一个用户名和密码)。
  1.2 并行计算软件编写环境配置
  (1)打开visual stdio 2010,创建一个win32控制台空项目,取名为test;(2)在项目中添加c++文件,main.cpp,编写输入测试程序;(3)对test 项目进行配置:右键test 项目—属性—c/c++—常规:在附加包含目录中添加mpich2 的安装目中的include 目
  录;打开链接器—常规:在附加库目录中添加mpich2 的安装
  目录中的lib 目录;打开链接器—输入:在附加依赖项中添加“mpi.lib”;(4)按F5 运行调试本程序。
  1.3 并行运行程序
  (1)在mpich2 安装目录中,打开“wmpiexec.exe“,在Application
  一栏中选择调试好的程序test.exe,在number of processes一栏中选择进程数量为4;(2)单击按钮Execute 以4 个进程并行执行此程序。
  2 并行计算处理算法实现
  对数据进行并行处理的过程一般为以下步骤[2]:(1)对目标问题抽象,建立串行的算法模型;(2)对串行算法模型逐步分析,找出算法模型中需并行计算的部分,找出并行实现的方法,给出并行模型描述;(3)用并行编程语言对串行代码并行化;(4)在并行环境中对并行算法进行调试。
  3 基于MPI 并行算法的程序实现
  蒙特•卡罗方法是一种用概率统计作为指导的数值计算方法,利用随机数来求解数值计算问题。非权重蒙特•卡罗积分又称确定性抽样,对被积函数的变量区间进行随机均匀的抽样,然后对被抽样点的函数求取平均值来得到函数积分近似值的方法。若抽样点数为n ,利用此方法所得到的近似解的统计误差会随着积分维数的变化而改变。
  如果积分维度较高,蒙特卡罗方法相比于其他数值计算算法更优[4]。
  3.1 蒙特•卡罗算法的实现
  实现的主要方法是利用随机数n 将积分的区域分成n个区域,利用随机数n 相对应的函数值用作矩形的高。伴随着随机数n 增大,此n 个区域在此积分区间基本接近平均分布,最后可以近似取积分区间的1/n 用作矩形宽度,然后在各节点之间计算一些小矩形面积。利用MPI_Reduce()函数对全部节点的结果进行规约求和,得到最终的积分数值。
  3.2 PI 值并行算法
  PI 值计算是常常被人类用作挑战极限计算的一种方法,此计算对计算能力的挑战没有终点。依据蒙特•卡罗算法原理,假设一个正方形中有一个半径是一单位的内切圆,那么正方形面积就是四单位,那么圆的面积和正方形的面积的比值就是PI/4。在此正方形内部来随机选择n 个点,并且计算有多少个点在圆内部,点落在圆的内部的概率记录为P,那么P=PI/4,即PI=4P。
  则PI 值的计算表达式可记为:(1)在上式(1)中,将0 ~ 1 的区间进行n 等分,取1/n 近似用
  作矩形宽度,矩形高度取通过求多个小面积之和,既可得PI 值。
  参考文献:
  [1] 都志辉.高性能计算之并行编程技术—MPI 并行程序设计
  [M].北京:清华大学出版社,2001
  [2] 熊盛武,王鲁,杨婕.构建高性能集群计算机系统的关键技术[J].微计算机信息,2006(3):86-88__
    

网站统计|优领域|优领域 ( 粤ICP备12011853号-1 )  

GMT+8, 2019-1-22 06:17 , Processed in 0.078536 second(s), 12 queries .

Copyright © 2008-2014 优领域

回顶部