第一部分: mpich2的安装与配置。
首先,下载mpich2,并进行安装。本机的安装路径为:D:/Program Files/MPICH2。之后配置系统环境变量,(我的电脑右键点击->属性->高级->环境变量->Path)如下图:
在系统中新创建一个用户(右键我的电脑->管理->右键用户->新用户)如下图:
注意,如果是多台机器执行mpi,那么这多台机器上必须配置相同的mpi用户,就是新用户的用户名和密码必须相同。
配置mpi使用这个新创建的用户:
点击填入用户名和密码,然后点击register。
到现在为止,mpi的配置已经完成了。
第二部分:vs2008下mpi的配置:
打开vs2008,选择工具->选项->c++项目,如下图(添加include文件):
添加库文件:
编写测试程序:
// mpi_first_helloworld.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "mpi.h"
#include <iostream>
using std::cout;
using std::endl;
int _tmain(int argc, char* argv[])
{
int myid;//当前进程的id
int procNumber;//程序的进程数目
int namelen;//主机名长度,这里没有实际用途,但是c语言中有用
char proccessName[MPI_MAX_PROCESSOR_NAME];//主机名
MPI_Init(&argc,&argv);
MPI_Comm_size(MPI_COMM_WORLD,&procNumber);
MPI_Comm_rank(MPI_COMM_WORLD,&myid);
MPI_Get_processor_name(proccessName,&namelen);
cout<<"my host name is "<<proccessName<<"my id is "<<myid<<"procNumber is "<<procNumber<<endl;
MPI_Finalize();
return 0;
}
配置程序,连接mpi库:
项目菜单->属性,如下图所示:
编译程序
第三部分:使用控制台,执行mpi作业
单机测试成功。注意我先到我的mpi程序的debug目录下,然后执行。其中mpiexec是mpi程序的执行器,-n指明需要多少线程,之后是要执行的程序,最后还可以给程序传参数(这里没有传)。