资源描述:
《关于vc++60安装配置MPI.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关于在vc++6.0中安装配置MPI1、下载安装MPICH,安装过程中最好把密码设置为自己的开机密码关于安装完成后设置对MPICH2的wmpiregister.exe设置用户名密码,是计算机名和开机密码可以来个简单的测试,打开wmpirexec.exe在application中添加ProgramFiles(x86)MPICH2examples中例子,选中“runinanseparatewindow”然后点击execute…(如果有问题,有可能是wmpiregister.exe用户名设置的问题)现在设置vc++6.0-------------------------------
2、-----------------------------------2、打开vc++6.0在(工具-选项-目录)把mpich相对应的include和lib添加到includefiles3、新建一个工程,可以写mpitest.cpp,为了避免宏定义冲突,在#include”mpi.h”之前要加入#includeMPICH_SKIP_MPICXX(这样就可以通过编译)4、编译通过了,但是链接仍然会出错继续设置(在工程—>设置->链接中的对象/库模板块后加入mpi.lib)上图这样就可以通过链接了(每次建工程都要加入mpi.lib的操作)再贴一个简单的例子吧#defineMPICH_
3、SKIP_MPICXX#include"mpi.h"#include#includedoublef(double);doublef(doublea){return(4.0/(1.0+a*a));}intmain(intargc,char*argv[]){intdone=0,n,myid,numprocs,i;doublePI25DT=3.1493238462643;doublemypi,pi,h,sum,x;doublestartwtime=0.0,endwtime;intnamelen;charprocessor_name[MPI_MAX_PR
4、OCESSOR_NAME];MPI_Init(&argc,&argv);MPI_Comm_size(MPI_COMM_WORLD,&numprocs);MPI_Comm_rank(MPI_COMM_WORLD,&myid);MPI_Get_processor_name(processor_name,&namelen);/*fprintf(stdout,"Process%dof%dison%s",myid,numprocs,processor_name);fflush(stdout);*/while(!done){if(myid==0){fprintf(stdout,"Ente
5、rthenumberofintervals:(0quits)");fflush(stdout);if(scanf("%d",&n)!=1){fprintf(stdout,"Nonumberentered;quitting");n=0;}startwtime=MPI_Wtime();}MPI_Bcast(&n,1,MPI_INT,0,MPI_COMM_WORLD);if(n==0)done=1;else{h=1.0/(double)n;sum=0.0;for(i=myid+1;i<=n;i+=numprocs){x=h*((double)i-0.5);sum+=f(x);}my
6、pi=h*sum;MPI_Reduce(&mypi,&pi,1,MPI_DOUBLE,MPI_SUM,0,MPI_COMM_WORLD);if(myid==0){printf("piisapproximately%.16f,Erroris%.16f",pi,fabs(pi-PI25DT));endwtime=MPI_Wtime();printf("wallclocktime=%f",endwtime-startwtime);fflush(stdout);}}}MPI_Finalize();return0;}