MPICH超级菜鸟入门

【应该了解的背景知识】
1、MPI知识--[比较熟悉]
2、VC/Visual Studio知识--[一般了解]
3、C++知识--[熟悉]

 

 

MPI全称消息传递接口,是Message Passing Interface的缩写,MPI是一个库,而不是一门语言。它是一种标准或规范的代表,而不特指某一个对它的具体实现。

本次实验过程中,使用的MPI实现是MPICHMPICH是一种最重要的MPI实现,它可以免费从http://www-unix.mcs.anl.gov/mpi/mpich 取得,更为重要的是,MPICH是一个与MPI-1规范同步发展的版本,每当MPI推出新的版本,就会有相应的MPICH的实现版本。

MPICH的下载安装

       可以从http://www-unix.mcs.anl.gov/mpi/mpich 免费下载得到MPICH的最新版本。本次实验使用的是MPICH2 for Microsoft Windows 版本是 1.0.3 ,下载后直接运行,安装即可。

MPICH的配置

       本次实验使用的开发语言是C/C++,运行环境为Microsoft Windows XP Professional,开发工具为Microsoft Visual Studio 2005。安装完MPICH2后,要将MPI库添加到Visual Studio的库目录中,将inculde文件添加到Visual Studioinclude目录中。具体步骤如下:

1.     单击“工具”菜单,选择“选项”,在弹出对话框中双击树型目录中的“项目和解决方案”,打开之。在其子目录里面选中“VC++目录”一项,此时右侧显示相应属性。

2.     在“显示以下内容的目录”下拉菜单中选择“库目录”,单击“新行”按钮(快捷键Ctrl+Insert),在新添加的行中单击最右侧浏览按钮,选择MPICH2的安装目录,然后选择lib子目录,选择“打开”,加入完成,如图:

3.     使用与第二步相同的方法,将“引用文件”添加上,如图:

4.     新建一个空白“Windows控制台应用程序项目,假设命名为FFT,在“项目”菜单中选择“FFT属性”,在弹出对话框中依次开左侧树型列表的“配置属性”、“链接器”、“输入”,在“附加依赖项”一栏输入:mpi.lib,如图:

选择配置下拉列表中的release选项,同样将mpi.lib添加上去。(也可以使用#pragma预处理指令:#pragma comment(lib,"mpi.lib")

 

程序运行与测试:

       VC下将程序直接编译链接为exe文件,然后使用MPICH2附带的运行工具即可模拟运行并行程序。

       在运行程序前,要对MPICH2的运行环境进行设置,本次实验仅使用一台计算机来进行模拟,所以,设置比较简单,使用开发包提供的wmpiregister即可。如果要同时使用多太计算机来运行,就要用到wmpiconfig工具来进行配置。两个工具都位于mpi安装目录下的bin目录中。这里,我们只介绍wmpiregisterwmpiregister运行界面如下:

      

程序的设置很简单,只要在Account中输入你当前登录Windows所使用的用户名,在password中输入该用户名对应的密码即可。MPICH2不能使用没有密码的用户,如果当前用户没有密码,则应该为其创建一个,然后再运行wmpiregister进行配置。输入完成后,单击Register进行注册即可。显示Password encrypted into the Registry,即表示注册成功。

MPICH2带有两个运行工具,第一个为mpiexec.exe,第二个为wmpiexec.exe,均位于mpi安装目录下的bin目录中。第一个为命令行工具,使用方法如下:

2个参数为处理器个数,第4个参数为将要运行的程序。

       第二个为Win32窗口程序,运行后界面如下:

其实这个程序仅仅是一个界面,最终程序仍然要调用mpiexec.exe来运行,所以两种方式本质上是相同的。这里更建议使用命令行方式,或在使用窗口方式时将“run in a separate window”勾中,因为经过多次实验,发现窗口方式运行时,输出显示是没有问题的,但是如果要向程序输入数据,在窗口模式下似乎行不通,估计mpiexec这个程序有问题。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值