转载:http://m.blog.csdn.net/blog/u012337841/16358547
windows7下VS2010配置MPI开发环境教程
1.首先下载MPI
mpich2-1.4.1p1-win-ia32安装程序的下载地址:
本文以设置安装在C:\Program Files\MPICH2目录下为例。
2.安装完成后,打开“开始-所有程序-MPICH-wmpiregister.exe” ,在Account中输入本机用户名,在password中输入本机密码,点击Register按钮注册并按OK按钮退出。
![](https://img-blog.csdn.net/20130508144046384)
3.在VS2010中,VC++ 目录配置位置较以往发生了变化。VC++目录改在项目配置中,在项目名称上右键选择属性,即进入属性页。
4.展开左边配置属性,选中其中的VC++ 目录,在右边“包含目录”加入“C:\ProgramFiles\MPICH2\include;”
5.展开左边配置属性,选中其中的VC++ 目录,在右边“库目录”加入“C:\ProgramFiles\MPICH2\lib;”
![](https://img-blog.csdn.net/20130508144107665)
6.展开左边配置属性中的C/C++,如果没有这个选项,需要在项目中新建一个cpp文件则会出现该选项,选中其中的“预处理器”,在右边的“预处理器定义”中加入“MPICH_SKIP_MPICXX;”。
![](https://img-blog.csdn.net/20130508144210367)
7.同样展开C/C++,选中“代码生成”,把右边的“运行库”更改为“Multi-threaded Debug(/MTd)”(此外有下拉菜单可选到它)。
![](https://img-blog.csdn.net/20130508144227585)
8.展开左边的链接器,选中“输入”,在右边“附加依赖项”中加入“mpi.lib;”。
至此,配置完成。
![](https://img-blog.csdn.net/20130508144244944)
9.运行示例
#include <mpi.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#pragma comment (lib, "mpi.lib")
int main(int argc, char* argv[])
{
int myid,numprocs;
int namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
//用MPI_Comm_rank 获得进程的rank,该rank值为0到p-1间的整数,相当于进程的ID
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
//用MPI_Comm_size 获得进程个数 int MPI_Comm_size(MPI_Comm comm, int *size);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Get_processor_name(processor_name, &namelen);
printf("Hello World! by MoreWindows\nProcess %d of %d on %s\n", myid, numprocs, processor_name);
MPI_Finalize();
if (myid == 1)
{
printf("\nPress a key and exit.\n");
getch();
}
return 0;
}
编译运行,第一个MPI程序就诞生了。
![](https://img-blog.csdn.net/20130508144259428)
10.如何运行MPI程序?
打开“开始-所有程序-MPICH-wmpiexec.exe”,在Applicationd右边浏览找到你在VS2010中生成的exe文件,(在项目目录里的debug里)设置Number of processes(即进程数目,用来模拟并行计算的CPU数目)。再按Execute按钮运行。
![](https://img-blog.csdn.net/20130508144310428)
转载:http://m.blog.csdn.net/blog/u012337841/16358547
windows7下VS2010配置MPI开发环境教程
1.首先下载MPI
mpich2-1.4.1p1-win-ia32安装程序的下载地址:
本文以设置安装在C:\Program Files\MPICH2目录下为例。
2.安装完成后,打开“开始-所有程序-MPICH-wmpiregister.exe” ,在Account中输入本机用户名,在password中输入本机密码,点击Register按钮注册并按OK按钮退出。
3.在VS2010中,VC++ 目录配置位置较以往发生了变化。VC++目录改在项目配置中,在项目名称上右键选择属性,即进入属性页。
4.展开左边配置属性,选中其中的VC++ 目录,在右边“包含目录”加入“C:\ProgramFiles\MPICH2\include;”
5.展开左边配置属性,选中其中的VC++ 目录,在右边“库目录”加入“C:\ProgramFiles\MPICH2\lib;”
6.展开左边配置属性中的C/C++,如果没有这个选项,需要在项目中新建一个cpp文件则会出现该选项,选中其中的“预处理器”,在右边的“预处理器定义”中加入“MPICH_SKIP_MPICXX;”。
7.同样展开C/C++,选中“代码生成”,把右边的“运行库”更改为“Multi-threaded Debug(/MTd)”(此外有下拉菜单可选到它)。
8.展开左边的链接器,选中“输入”,在右边“附加依赖项”中加入“mpi.lib;”。
至此,配置完成。
9.运行示例
#include <mpi.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#pragma comment (lib, "mpi.lib")
int main(int argc, char* argv[])
{
int myid,numprocs;
int namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
//用MPI_Comm_rank 获得进程的rank,该rank值为0到p-1间的整数,相当于进程的ID
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
//用MPI_Comm_size 获得进程个数 int MPI_Comm_size(MPI_Comm comm, int *size);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
MPI_Get_processor_name(processor_name, &namelen);
printf("Hello World! by MoreWindows\nProcess %d of %d on %s\n", myid, numprocs, processor_name);
MPI_Finalize();
if (myid == 1)
{
printf("\nPress a key and exit.\n");
getch();
}
return 0;
}
编译运行,第一个MPI程序就诞生了。
10.如何运行MPI程序?
打开“开始-所有程序-MPICH-wmpiexec.exe”,在Applicationd右边浏览找到你在VS2010中生成的exe文件,(在项目目录里的debug里)设置Number of processes(即进程数目,用来模拟并行计算的CPU数目)。再按Execute按钮运行。
MPICH2安装完后,smpd为什么运行不了?
安装后smpd无法运行,进程中没有smpd.exe。注册过程也完成了。运行自带的测试程序cpi.exe,提示
:Error: No smpd passphrase specified through the registry or .smpd file, exiting.
有没有大神知道是哪里出了问题,可以远程指导下。。。在此跪谢了。。。
解决办法
原因是smpd进程没有启动 解决方法也很简单
1、开始菜单--所有程序--附件 用管理员身份运行CMD窗口
2、进入MPICH2的安装目录,以我的为例 cd /d C:\Program Files (x86)\MPICH2\bin
3、输入命令smpd -install -phrase behappy, behappy是安装时设置的passphrase