1.       Mpich下载地址http://www.mpich.org/downloads/,下载mpich2-1.4.1p1-win-x86-64(32位系统请下载mpich2-1.4.1p1-win-ia32)并安装!

2.       最好切换到管理员(administrator)用户安装mpich2,可以省掉很多麻烦!此教程安装目录为D:\Program Files\MPICH2

3.       安装完成后,打开“开始-所有程序-MPICH-wmpiregister.exe” ,在Account中输入本机用户名,在password中输入本机密码,(win8.1系统绑定outlook邮箱的账号,使用装机时用户名+outlook邮箱密码登陆),点击Register按钮注册并按OK按钮退出。

win7&win8.1 x64位系统下在VS2010下配置MPICH2&测试&解决scanf不能输入-LMLPHP

4.       打开进程管理器,若里面没有"smpd.exe"进程在运行的话,就要以管理员身份打开cmd,移动到安装目录(C:\Program Files\MPICH2\bin),运行命令:smpd -install -phrase beHappy

注意:此处必须以管理员身份运行,否则就会出现 OpenSCManager failed

5.       进程管理器里面有"smpd.exe"进程运行的话就可以开始测试mpich2-1.4自带例子!

6.       mpich2-1.4安装目录下有examples目录,安装完成后可以打开“开始-所有程序-MPICH-wmpiexec.exe”,在Application右边浏览找到你examples目录下的cpi.exe, 设置Number of processes(即进程数目,用来模拟并行计算的CPU数目)。再按Execute按钮运行。若提示 Credentials for yyy rejected connecting to XXX则表明账户用户名或密码不匹配。注册的用户名和密码必须要是能登陆电脑的用户名和密码。若出现如下图的提示,则表明安装成功。

win7&win8.1 x64位系统下在VS2010下配置MPICH2&测试&解决scanf不能输入-LMLPHP

若程序涉及scanf输入字符,请先勾选run in an separate window前面的复选框,再点击Execute,在命令行窗口中执行!如下图:

win7&win8.1 x64位系统下在VS2010下配置MPICH2&测试&解决scanf不能输入-LMLPHP

7.       新建一个VC++空项目,在源文件上点击右键,添加->新建项->c++文件!在刚新建的文件里写如下内容并保存:

#include "mpi.h"

#include <stdio.h>

#include <math.h>

void main(int argc,char *argv[])

{

//整型变量myid 和numprocs分别用来记录某一个并行执行进程的标识和所有参加计算的进程的个数

int myid, numprocs;

//namelen是实际得到的机器名字的长度

int namelen;

//机器名放在变量processor_name

char processor_name[MPI_MAX_PROCESSOR_NAME];

//初始化

MPI_Init(&argc,&argv);

//得到当前正在运行的进程的标识号, 放在myid中

MPI_Comm_rank(MPI_COMM_WORLD,&myid);

//得到所有参加运算的进程的个数 放在numprocs中

MPI_Comm_size(MPI_COMM_WORLD,&numprocs);

MPI_Get_processor_name(processor_name,&namelen);

fprintf(stderr," Hello World! Process %d of %d  on %s\n",myid,  numprocs, processor_name);

//结束

MPI_Finalize();

}

8.       在项目名称上右键选择【属性】,即进入【属性页】窗口。

9.       展开左边Configuration Properties【配置属性】,选中其中的VC++ Directories【VC++ 目录】,在右边Include Directories【包含目录】加入“D:\Program Files\MPICH2\include;”(此处为mpich2安装目录)

10.   展开左边Configuration Properties【配置属性】,选中其中的VC++ Directories【VC++ 目录】,在右边Library Directories【库目录】加入“D:\Program Files\MPICH2\lib;” (此处为mpich2安装目录)

win7&amp;win8.1 x64位系统下在VS2010下配置MPICH2&amp;测试&amp;解决scanf不能输入-LMLPHP

win7&amp;win8.1 x64位系统下在VS2010下配置MPICH2&amp;测试&amp;解决scanf不能输入-LMLPHP

11.   同样展开C/C++,选中Code Generation【代码生成】,把右边的Runtime Library【运行库】更改为”Multi-threaded Debug (/MTd)”【多线程调试(/MTd)】(此外有下拉菜单可选到它)。

win7&amp;win8.1 x64位系统下在VS2010下配置MPICH2&amp;测试&amp;解决scanf不能输入-LMLPHP

12.   展开左边的Linker【链接器】,选中Input【输入】,在右边Additional Dependencies【附加依赖项】中加入“mpi.lib;”。

win7&amp;win8.1 x64位系统下在VS2010下配置MPICH2&amp;测试&amp;解决scanf不能输入-LMLPHP

13.   如果用32位的同学,这时候就能成功编译了!!若使用64位的同学则还需要在选择Debug环境的时候要选择x64而不是win32。设置方法也很简单:点击你原来win32的下拉菜单,有个“配置管理器”,点击会有个对话框,击平台的那个下拉菜单,新建,选择x64并确定!

win7&amp;win8.1 x64位系统下在VS2010下配置MPICH2&amp;测试&amp;解决scanf不能输入-LMLPHP

配置完成后生成解决方案开始测试新建的项目!

14.   如何运行MPI程序?

打开“开始-所有程序-MPICH-wmpiexec.exe”,在Application右边浏览找到你在VS2010中生成的exe文件(64位操作系统必须选择x64-debug下的exe文件),设置Number of processes(即进程数目,用来模拟并行计算的CPU数目)。再按Execute按钮运行。

win7&amp;win8.1 x64位系统下在VS2010下配置MPICH2&amp;测试&amp;解决scanf不能输入-LMLPHPwin7&amp;win8.1 x64位系统下在VS2010下配置MPICH2&amp;测试&amp;解决scanf不能输入-LMLPHP

05-04 04:57