关于win上安装MPI开发环境,网上能搜到的教程貌似都很老,还需要在管理员账户开发,感觉很诡异,于是自己摸索了下,不需要管理员账户,总结如下。

1. 准备

  • VS 2013(VS 2010及以上都行)
  • Windows 8.1操作系统(Win7及以上都行)

2. 下载并安装MPICH For Windows

MPI是一个接口规范,我们使用的是它的实现MPICH。

首先,进入http://www.mpich.org/downloads/站点根据操作系统下载。由于我们使用的是Windows,拉到下载网页最底部,最新的MPICH实现已经由微软官网托管,我们直接进去下载。

然后,选择最新的V8下载,包含两个文件:msmpisdk.msi和MSMpiSetup.exe。

下载完毕直接分别安装这两个程序,都点下一步下一步即可。

3. 配置VS并写个HelloWord测试

3.1 配置VS

首先新建一个名为MPI-demo的项目,在项目属性中进行如下配置。

MPI安装配置如图:

包含目录里面添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Include;
库目录的里面添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64;

其他必要配置:

  • 配置管理器,选择x64编译平台;
  • C/C++ -> 预处理器,添加:MPICH_SKIP_MPICXX;
  • C/C++ -> 代码生成 -> 运行库,选择:多线程调试(/MTd);
  • 链接器 -> 输入 -> 附加依赖项,添加:msmpi.lib;

3.2 HelloWord测试

新建一个C++文件,命名为main.cpp,源代码如下(若有报错,请检查上述安装过程!):

#include <stdio.h>
#include <mpi.h> int main(int argc, char *argv[])
// int argc;
// char *argv[];
{
int myid, numprocs, namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); /* starts MPI */
MPI_Comm_rank(MPI_COMM_WORLD, &myid); /* get current process id */
MPI_Comm_size(MPI_COMM_WORLD, &numprocs); /* get number of processes */
MPI_Get_processor_name(processor_name, &namelen); if (myid == 0) printf("number of processes: %d\n", numprocs);
printf("%s: Hello world from process %d \n", processor_name, myid); MPI_Finalize();
return 0;
}

编译整个项目,将编译得到的 exe文件(debug文件夹下)放在安装的MS-MPI的bin目录(默认为:C:\Program Files\Microsoft MPI\Bin)下,在这个Bin目录下按住shift键于空白处右键单击,打开命令行窗口,输入 mpiexec -n 10 MPI-demo.exe 得到运行结果,如下图:

Windows 8.1/10配置VS 2013 + MPI开发环境的更多相关文章

  1. 《React Native 精解与实战》书籍连载「配置 iOS 与 Android 开发环境」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  2. Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境

    Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境 我们的电脑系统:Windows 10 64位 Visual Studio 软件:Visual Studio 20 ...

  3. 配置cordova的android开发环境(无android studio)

    原文:配置cordova的android开发环境(无android studio) 趁元旦放假想试一下cordova,不想安装庞大的android studio,所以想最小化安装,居然花了一整天的时间 ...

  4. 转[开发环境配置]在Ubuntu下配置舒服的Python开发环境

    在Ubuntu下配置舒服的Python开发环境 Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的 ...

  5. 在IntelliJ IDEA 13中配置OpenCV的Java开发环境

    准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...

  6. 在Windows上搭建PhoneGAP(crodova)的开发环境

    PhoneGAP是一个可以将web应用打包成移动应用的开源框架,使用它可以迅速的将HTML.CSS和JavaScript开发的web应用打包成跨平台的移动应用程序,而Apache Cordova是Ph ...

  7. 如何在微软Windows平台上打造出你的Linux开发环境(转载)

    如何在微软Windows平台上打造出你的Linux开发环境 投递人 itwriter 发布于 2013-12-10 11:18 评论(1) 有348人阅读  原文链接  [收藏]  « » 英文原文: ...

  8. 在Fedora18上配置个人的Hadoop开发环境

    在Fedora18上配置个人的Hadoop开发环境 1.    背景 文章中讲述了类似于"personalcondor"的一种"personal hadoop" ...

  9. 从头开始编写一个Orchard网上商店模块(2) - 配置您的Orchard开发环境

    原文地址:http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-par ...

随机推荐

  1. Linux命令(十九) 查看系统负载 uptime

    一.命令介绍 Linux 系统中 uptime 命令主要用于获取主机运行时长和查询Linux系统负载等信息. uptime 命令可以显示系统已经运行了多长时间,信息显示依次为:现在时间.系统已经运行时 ...

  2. CentOS7 如何修改 内核版本

    1. 参考blog http://www.mamicode.com/info-detail-1758066.html https://www.cnblogs.com/sexiaoshuai/p/839 ...

  3. ESXi主机性能问题

    服务器遇到一个问题 百度了下 基本发现是 四路的 windows 服务器的问题. 造成一些 性能降低. 然后查看了下几个虚拟机 的确是设置的4个虚拟插槽 根据百度的结果 要么改配置文件 要么改 这个四 ...

  4. 常用的cpl 命令 运行直接打开控制台的简单方法

    转载百度百科   工作中处理 windows机器 有时候 打开 网路修改ip地址特别繁琐,所以找了下 快速打开一些简单的控制台 能提高工作效率.   (Control Panel extension) ...

  5. Exchange2010批量删除邮件

    在Exchange2010里若要删除某个用户发出的邮件,可以通过EMC控制台授予管理员“管理完全访问权限”,通过OWA登录到用户邮箱删除.另外,更简便的方法为使用Exchange2010的命令来处理, ...

  6. 【Java并发编程】之十五:并发编程中实现内存可见的两种方法比较:加锁和volatile变量

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17290021 在http://blog.csdn.net/ns_code/article/ ...

  7. MySQL -- 主从复制的可靠性与可用性

    主库A执行完成一个事务, 写入binlog ,记为 T1 然后传给从库B,从库B 接收该binlog ,记为 T2 从库B执行完成这个事务,记为 T3 同步延时: T3-T1 同一个事务,在 从库执行 ...

  8. 【贪心策略】USACO 越野跑

    问题 H: 越野跑[贪心策略] [题面] 为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训练.贝茜希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定:奶牛独自进山的时间不得超 ...

  9. 51nod 1450 闯关游戏

    首先肯定要先把所有的关卡打通后去找两星几率最大的关卡刷星(论打游戏经验的重要性). 所以从两星几率小的关打起,记录当前拿到x个星星的几率和当前走过的期望步数,如果发现剩下的关必须全两星,就直接计算答案 ...

  10. 【codevs2205】等差数列

    题目大意:给定一个长度为 N 的序列,求这个序列中等差数列的个数. 题解:根据题意应该是一道序列计数 dp.设 \(dp[i][j]\) 表示以第 i 项结尾,公差为 j 的等差数列的个数,则状态转移 ...