更新时间:2024-05-21 16:40
MPICH是计算机术语。
MPICH是MPI标准的一种最重要的实现,可以免费从网上下载。MPICH的开发与MPI规范的制订是同步进行的,因此MPICH最能反映MPI的变化和发展。
MPICH的开发主要是由Argonne National Laboratory和Mississippi State University共同完成的,在这一过程中IBM也做出了自己的贡献,但是MPI规范的标准化工作是由MPI论坛完成的。MPICH是MPI最流行的非专利实现,由Argonne国家实验室和密西西比州立大学联合开发,具有更好的可移植性,现阶段多流行的是MPICH2.
通过安装MPICH构建MPI编程环境,从而进行并行程序的开发。MPICH是MPI(Message-Passing Interface)的一个应用实现,支持最新的MPI-2接口标准,是用于并行运算的工具。
Windows环境下的安装
1 准备工作:
- 操作系统分别为 Win XP 和 Win 2003 server;
- Microsoft .NET Framework 2.0 :必需;
- vcredist_x86.exe :可能会用得到。笔者在安装时碰到需要安装visual c++ 2005 sp1 的提示,此时安装该 vcredist 程序即可。
- mpich2-1.0.6p1-win32-ia32.msi :mpich2的安装文件;
- mpich2 主页:网上可以轻易搜到mpi主页,从这里可以下载所需 mpich2 程序和相应文档。
2 环境搭建
2.1 在两台机器上分别安装Microsoft .NET Framework 2.0和vcredist_x86.exe;
2.2 在两台机器上分别安装mpich2-1.0.6p1-win32-ia32.msi;
将.../MPICH2/bin(即安装目录,如:D:/Program Files/MPICH2/bin)添加至系统环境变量path中。
我用的参与计算的系统都是WindowsXP Pro SP2,安装的过程没什么太特别的,一般就是默认就可以,只是其中有个地方要填一个什么passphrase,上面提示说所有系统都要用相同的passphrase,照做就是了,在所有参与计算的结点机器上都填一样的passphrase就好了。另外就是需要.net framework 2的运行环境。
安装完毕后开始菜单-程序中就添加了一个MPICH2目录,其中就有上面提到的Jumpshot,另外wmpiconfig.exe是用来配置运行环境的。wmpiregister.exe则是用来注册用户的,使用MPI之前需要在这个程序里注册一个系统里已经存在的用户,而且这个用户必需拥有管理员权限,拥有运行我们安装了的MPI系统的能力。比如我就在所有参与运算的机器上添加了一个管理员mpi,密码也是mpi。
(windows)
.
测试前首先需要注册一个用户,具体操作如下:开始→所有程序→MPICH2→wmpiregister.exe:
有一点需要说明:该用户名须为有效的操作系统管理员账户,密码对应为系统登录密码。接下来,测试时有两种方式可供选择:GUI界面和命令行。
- GUI方式:开始→所有程序→MPICH2→wmpiexec.exe;
- 命令行方式:mpiexec n 2 D:/Program Files/MPICH2/examples/cpi.exe。
要点:
-参加并行计算的机器须至少注册一个相同的账户,如笔者两台PC上都注册了一个 mpi 账号;这些账户最好位于同一工作组,当然不在同一工作组也可以,笔者作过测试,没有问题。
-创建JOB目录。每台机器上须有一个路径相同的目录,用于存放待执行的JOB(即 exe 程序),笔者创建的目录是 d:/mpi/ ,并将测试用的 cpi.exe 文件copy至该目录下;
-
安装MPICH并测试成功之后,就可以利用MPI进行编译和运行程序:
这里假定 MPI 程序的开发分为两个阶段:
-使用 visual studio 编译MPI程序,将其debug为exe文件;
-将exe文件copy到上面环境搭建过程中创建的JOB目录下,联机运行。
环境搭建好之后,接下来的编译和运行就非常简单。编译MPI程序前,创建一个c++工程,MPI代码放于工程中的cpp文件中,build,start debuging...,OK,编译完成。copy exe文件至每台机器的JOB目录,进入任何一台机器的cmd下,执行联机运行命令即可。
示例(visual studio 2005):