mpi用linux还是win,第一个mpi程序in windows

前阵子忙着看solaris,买了书,看了一阵,后来重新安排让搞异构编程环境,于是看交叉编译,最近老师安排熟悉mpi编程环境。。。

异构的话,还是先在windows,linux下用用吧,first step starts from windows.

1.需要有c,c++ or fortan的编译器,在这里我采用的是dev-cpp里的g++编译器,可以去迅雷上下,搜dev cpp即可,有的版本比较按照默认安装路径,否则会出现build错误,还是老实点吧

我用的是dev-c++ 4.9.4.1 ,默认安装到了c根目录下

下载mpich2- 1.0.7-win32-ia32.msi,这个是专门为x86-windows-32实现的,这里采用默认安装到C:\Program Files\MPICH2。

3.现在已经可以在本机进行基本的编程了,当然还有mpi的一些对于节点的配置,不过对于编写一个简单的在本机运行的程序是不必要的

4.写一个最简单的 mpi "hello world"程序

#include "mpi.h"

#include

#include

void 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);

fprintf(stderr,"Hello World! Process %d of %d on %s\n",

myid, numprocs, processor_name);

MPI_Finalize();

}

5.编译执行

注意要想在cmd里,可以直接调用g++,mpiexec命令,需要现在系统的环境变量里设置path的值,这样系统就知道去那个路径寻找下面要使用的命令了。

编译命令:

g++ test.cpp -I C:\PROGRA~1\MPICH2\include -L C:\PROGRA~1\MPICH2\lib -lmpi -o test.exe

运行命令:

mpiexec -n 4 -localonly test.exe

这样就可以看到运行结果了,以上 命令均在cmd里执行,结果显示也是

好啦,这样最简单的mpi程序的编译运行过程就完成了

为了避免每次敲入重复的编译,运行命令,我把他们保存到.bat文件,并且,将保存bat文件的路径,添加到path里,这样以后直接运行这个.bat文件,就可以自动执行上述编译,运行命令了。

待解决问题:

异构环境下编程 程序的异机运行 熟悉mpi高级编程 熟悉mpiconfig 和mpiregister的各项设置的意义

如何简化编程过程?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值