zoukankan      html  css  js  c++  java
  • MPI 在Windows10 上安装,使用VS2013编译生成可执行程序

    原文地址:http://www.cnblogs.com/leijin0211/p/6851789.html

    参考博客: http://www.cnblogs.com/shixiangwan/p/6626156.html

          http://www.cnblogs.com/hantan2008/p/5390375.html

    系统环境:

      Windows10  (Windows7及以上均可以)

      64bit

      VS2013

    1. 下载并安装MPICH For Windows

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

      

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

      

      下载完毕直接分别安装这两个程序 msmpisdk.msi 和 MSMpiSetup.exe 

      我安装在了D盘

        

         

    2. VS配置以及demo演示

      新建一个VC++项目

      

      在项目属性中配置修改如下:

        包含目录里面添加:C:Program Files (x86)Microsoft SDKsMPIInclude;

        库目录的里面添加:C:Program Files (x86)Microsoft SDKsMPILibx64;

       

      其他必要配置:

        配置管理器,选择x64编译平台;

        C/C++ -> 预处理器,添加:MPICH_SKIP_MPICXX;

        C/C++ -> 代码生成 -> 运行库,选择:多线程调试(/MTd);

        链接器 -> 输入 -> 附加依赖项,添加:msmpi.lib;

        

      demo测试,新建一个C++文件,命名为main.cpp

    复制代码
     1 #include<stdio.h>
     2 #include<mpi.h>
     3 #include<stdlib.h>
     4 #include<time.h>
     5 
     6 int main(int argc, char* argv[])
     7 {
     8     int myid, numprocs, namelen;
     9     char processor_name[MPI_MAX_PROCESSOR_NAME];
    10 
    11     MPI_Init(&argc, &argv);        // starts MPI
    12     MPI_Comm_rank(MPI_COMM_WORLD, &myid);  // get current process id
    13     MPI_Comm_size(MPI_COMM_WORLD, &numprocs);      // get number of processes
    14     MPI_Get_processor_name(processor_name, &namelen);
    15 
    16     if (myid == 0) printf("number of processes: %d
    ...", numprocs);
    17     printf("%s: Hello world from process %d 
    ", processor_name, myid);
    18 
    19     MPI_Finalize();
    20 
    21     return 0;
    22 }
    复制代码

      编译整个项目,将编译(1.项目右键重新生成 或者 2.使用编辑器编译得到)得到的 exe文件(debug文件夹下)放在安装的MS-MPI的bin目录(默认为:C:Program FilesMicrosoft MPIBin  我安装在了D盘)下,在这个Bin目录下按住shift键于空白处右键单击,打开命令行窗口,输入 mpiexec -n 10 MPI-demo.exe 得到运行结果,如下图:

      

      

  • 相关阅读:
    LeetCode "Median of Two Sorted Arrays"
    LeetCode "Distinct Subsequences"
    LeetCode "Permutation Sequence"

    LeetCode "Linked List Cycle II"
    LeetCode "Best Time to Buy and Sell Stock III"
    LeetCode "4Sum"
    LeetCode "3Sum closest"
    LeetCode "3Sum"
    LeetCode "Container With Most Water"
  • 原文地址:https://www.cnblogs.com/lzhu/p/7783373.html
Copyright © 2011-2022 走看看