vs2012下配置MPI并行程序库

MPI是什么我就不过多介绍了,不知道的同学可以自行百度,下面直入正题。

1资源获取

首先我的计算机是win7系统64位,vs是2012版的,其他系统以及更高级的vs版本我没有试过,不过应该与此类似。要获取MPI库,你可以去官网上下载MPICH2,不过我建议直接在微软官网上下载,点这儿下载,有两个版本,一个是64位的,一个是32位的,我下的是sdk_x64.

2安装MPI

直接点击下载文件,安装即可。注意记住你自己的安装路径,比如我安装在(D:\Microsoft Compute Cluster Pack)

3配置MPI

配置稍微有点麻烦,不过要是配过opencv这种的话,应该也就不再话下了。
首先,打开你的VS,新建一个项目,选择win32控制台程序。如下
这里写图片描述
点击确定后,在向导中去掉预编译头文,
这里写图片描述
然后点击完成即可。界面如下:
这里写图片描述
如果你只想对此项目配置MPI库,那么右键点击左侧解决方案下的项目名称,选择属性,显示如下
这里写图片描述
如果你想以后编写并行程序时不用再重新配置,则先选择下面的属性管理器,然后右键点击Microsoft.Cpp.Win32.uer,选择属性菜单。
这里写图片描述
这里以第二种方法讲解。
1.属性管理器 -》 配置属性 -》 VC++目录 -》 包含目录,添加 include文件夹
这里写图片描述
2.属性管理器 -》 配置属性 -》 VC++目录 -》 库目录,添加 、lib、lib\i386、\lib\amd64
这里写图片描述
3.属性管理器 -》 配置属性 -》 C/C++ -》 预处理器 -》 预处理器定义,添加 MPICH_SKIP_MPICXX
这里写图片描述
4.属性管理器 -》 配置属性 -》 C/C++ -》 代码生成 -》 运行库,选择 多线程调试(/MTd)
这里写图片描述
5.属性管理器 -》 配置属性 -》 链接器 -》 输入 -》 附加依赖项,添加 msmpi.lib,mspme.lib
OK,配置完毕。
将下面代码覆盖原来的MPI_test.cpp,

//
#include <stdio.h>
#include "mpi.h"

int main(int argc, char*argv[])
{
    MPI_Init(&argc,&argv);
    printf("hello world\n");
    MPI_Finalize();
    return 0;
}

先在vs上编译运行,看是否运行成功,成功的话,我们就可以进行多线程运行了。首先打开命令窗口,然后切换到你的项目的debug下,输入mpiexec 然后回车,会有提示符,如下:
这里写图片描述,最后它给了2个example,我们想4个线程运行刚才的程序,那么输入:
mpiexec -n 4 MPI_test
结果如下:这里写图片描述
可以看到一共有4个helloworld出现,说明执行了四次。
MPI还可以在不同的机器上运行以此达到并行,你还可以编写更复杂的程序以此来测试并行程序的效率,以后会更新有关知识,官网上有大量资料,大家有空多去看看。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值