zoukankan      html  css  js  c++  java
  • Windows下MPI的环境搭建及机群测试

    准备软件:官网上下载对应的版本http://www.mcs.anl.gov/research/projects/mpich2/index.php。这里采用的是win32版本。

    设备:电脑若干台,均为windows操作系统

    环境配置过程如下:

    1.安装软件

    2.添加新的管理员账户

    3.注册账户

    4.配置

    下面依次说明。

    一.安装软件                                                                                                                                                                                  

    在每台电脑上安装好mpi的安装包,安装的路径任意选择,没必要每台计算机都是相同路径。

    安装过程中在使用者那选择everyone,安装好后,目录如下

    然后将MPICH2的bin目录添加进系统环境变量Path中。

    注意:安装好后,在资源管理器的进程内会有smpd.exe的进程,要进行MPI计算,必须要有这个进程,没有的话尝试重新安装。

    二.添加新的用户账户                                                                                                                                                                             

    为了是计算机群能使用MPI,应该给每个安装了MPI的计算机添加一个相同的账户,账户密码也必须相同,账户要求是管理员身份。这里分别为每台计算机创建一个名为mpi的账户,密码随便设,假设就是123.

    这里要注意:如果原来使用的是Administrator账户,创建mpi账户后每次开机只有mpi账户可供选择。实际上Administrator账户既然存在,只不过是被隐藏了,要是开始时可以选择使用Administrator还是mpi账户登录,可以修改注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\SpecialAccounts\UserList ,然后在右侧的窗口中找到以Administrator命名的Dword键(如果没有可以自己建立),双击,将键值由0改为1,退出后重新启动计算机。 

    还有一点,要进行mpi计算,没有必要非要使用mpi账户登录计算机,即只要计算机上存在mpi这个账户即可进行mpi的并行计算,与用户选择是否利用mpi账户登录计算机没有关系(很多文章没有阐释清楚这个问题)。

    三.注册账户

    点击开始——MPICH2——wmpiregister.exe。将mpi账户和密码123添加进去,注册,然后确定。

    四.配置

    测试前需要在每台计算机上创建一个路径相同的文件夹,比如在D盘根目录下创建一个mpi的文件夹,将编译成功需要执行的.exe文件放入mpi文件夹内

    注意将各计算机的防火墙关了。各计算机在同一个项目组内,这里我使用的个计算机都是在一个路由器内,都在WORKGROUP工作组内。

    选择开始——MPICH2——wmpiconfig.exe,如下图,如果安装了MPI的计算机连接成功会高亮显示(如下图绿色)。如果有连接不成功的,请按以上步奏仔细检查。

     

    测试

    利用安装文件的求π值示例进行测试(在examples内)。

    测试1:单机测试

    在本台计算机上直接运行cpi.exe,输入一个比较大的值800 000 000,如下

    这里只使用了单个cpu核,如果计算机cpu是多核的,要使用cpu的多个核,可以选择开始——MPICH2——wmpiexec.exe,在Application中选择cpi.exe,处理器选择2个,然后执行,如下图

    执行结果如下:

    可以看到,速度提高了将近一倍,因为使用了2个cpu核。程序运行时可以打开资源和管理器查看,对于双核cpu来说,单核时cpu使用率是50%,双核时cpu使用率是100%。

    测试2:机群测试

    利用机群进行计算时,在cmd下采用命令行进行。

    命令行格式类似:mpiexec -hosts n ip1 ip2 ... d:/mpi/cpi.exe

    n是要利用的计算机节点个数,ip1/ip2是计算机的ip地址。如下采用2个计算机节点(算上本机):

    可以看到与使用双核效果差不多。

    当采用3个计算机节点时,结果如下:

    可以看到,使用的时间将近是单机使用单cpu核心的1/3,可以说机群中计算机节点越多,处理越快,效率几乎是线性增长。

  • 相关阅读:
    vue2 生命周期
    javascript http库axios
    vue2自定义事件之$emit
    php配置rewrite模块
    php 正则匹配中文(转)
    php常用自定义函数
    Mysql----MySQL的mysql_insert_id和LAST_INSERT_ID(转)
    Mysql----mysql启动服务时提示"服务名无效"
    div+css布局
    php常见问题以及解决方法
  • 原文地址:https://www.cnblogs.com/Romi/p/2522401.html
Copyright © 2011-2022 走看看