VS2012下配置MPI


                                       VS2012下配置MPI

1、先下载安装mpich,下载地址为:

http://www.mpich.org/downloads/


完成后的目录如下图所示:

wKiom1TtXj7x7Al6AACAK0j7vrw081.jpg

2、打开VS,创建如下工程

wKioL1TtX0jQP-N1AAM6mMefsIk355.jpg

3、选择项目属性,添加头文件和库文件

wKiom1TtXj-gZZ9bAAJwvkn6L-Q047.jpg

4、引入mpi头文件和库

(1)找到“VC++ Directions-》Include Directories”,加上MPICH2的include文件路径,例如:“D:\software\MPICH2\include”


wKioL1TtX0nh-eezAASDiFwQIqI199.jpg


2)左边还是“VC++ Directions-》Library Directories”,在此项的最后添加MPICH2lib文件的路径,如“D:\software\MPICH2\lib

 

5、因为VCIO库与MPI的宏定义有冲突,所以需要预定义一个MPICH_SKIP_MPICXX宏,使得编译时跳过MPICXX定义。在如下位置加上“MPICH_SKIP_MPICXX”即可。

wKiom1TtXj_CdzJnAAOFh3wnIzw805.jpg

6、设置运行库为多线程

在如下位置选择“Multi-threaded Debug (/MTd)”,可以通过下拉单选择。

wKioL1TtX0mAA95eAASh3HZPTSo752.jpg

7、添加连接库

在如下位置添加“mpi.lib

wKiom1TtXkDRGYpwAAO4YseK4TE913.jpg

8、注册MPI,使得系统知道它。

打开“开始”,找到“MPICH2”文件夹,如下:

wKioL1TtX0rChXgvAACC6laESfU331.jpg

选择“wmpiregister.exe”,如下:

输入用户名和密码(此处的用户名和密码就是你锁屏时的用户名和密码),点击“Register”,当下面出现“Password encrypted into the Register”后点击“OK”即可。

wKiom1TtXkDxzFzYAAF32MUrqQU637.jpg


 

9、运行程序

1)先在VS中编译源程序,得到.exe文件;

2)打开“开始”,找到“MPICH2”文件夹下的“wmpiexec.exe”,如下


wKioL1TtX0qTeRm4AAFSa56tGyk346.jpg


选择刚才编译得到的.exe文件,如“D:\program\vs_code\MPI_01\Release\MPI_01.exe

设置线程数“Number of processes”,例如:4

点击执行“Execute”,在下面的编辑框中会出现运行的结果,如下:

wKiom1TtXkDQ0W83AAGqiCMHky4357.jpg

测试源码:

#include "mpi.h"   
#include<stdio.h>
 
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(MPI_COMM_WORLD, &myid);  
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);  
MPI_Get_processor_name(processor_name, &namelen);  
  
printf("Hello World! Process %d of %d on %s\n", myid, numprocs, processor_name);  
  
MPI_Finalize();  
return 0;  
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章