您的位置:首页 > 其它

windows MS-MPI 的使用

2016-02-16 15:49 295 查看
文章转自:http://blog.sina.com.cn/s/blog_68f21a870102vvow.html




MPI在windows上的扯淡

MPI的实现一般使用MPICH与OpenMPI,这两个库在12年的版本就已经停止了对windows的更新,不支持MPI的新特性(也不知道有没有bug方面的问题),配置的时候教程较少,配置也出现了一些不好解决的问题。

吐槽一下,MPICH官方不对Windows更新的原因是“开发人员精力不足”,也许在windows上使用MPI的人太少吧。。

MS-MPI (Microsoft MPI ) 现在更新到V7测试版 (2015年),微软基于MPICH向windows上的移植,实现了很多新的 MPI特性,主要用在 HPC Pack。使用全套系统需要一个windows server系统的电脑作为头结点,实现了完整的管理功能。不过MS-MPI也可以单独使用(没有界面)。


MS-MPI环境配置

微软官方教程多为HPC server的, 东西太多现在懒得配置。 MS-MPI的使用教程比较少,各种被坑之后得出下文:

下载安装包并安装
https://www.microsoft.com/en-us/download/details.aspx?id=47259 这是MS-MPI v6安装包,现在v7的测试版已出。

安装完成后去SDK目录,找到include 与 lib 文件夹。

在visual studio中新建C++ win32 空项目,将项目编译改为x64(我的是64位 win7)

右键项目 -- 属性 -- vc++ 目录中 包含目录 添加 include 文件夹路径,库目录 中添加 lib 文件夹路径。

属性 -- 链接器 -- 输入 -- 附加依赖项中 添加 msmpi.lib;msmpifec.lib;msmpifmc.lib;

新建cpp文件,代码如下


#include "mpi.h"

#include

int main(int argc, char* argv[])

{

int rank;

int size;

MPI_Init(0,0);

MPI_Comm_rank(MPI_COMM_WORLD, &rank);

MPI_Comm_size(MPI_COMM_WORLD, &size);

std::cout<<"Hello
world from process "<<rank<<"
of "<<size<<std::endl;

MPI_Finalize();

return 0;

}

将编译得到的 exe文件放在安装的MS-MPI的bin目录下(和sdk不在一个安装包)
按住shift键在bin文件夹空白处右键单击,选择命令行窗口
输入 smpd -d 运行MPI进程
输入 mpiexec -n 4 test.exe 得到运行结果如下

Hello world from process 1 of 4

Hello world from process 0 of 4

Hello world from process 3 of 4

Hello world from process 2 of 4
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  技术