• 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 得到运行结果,如下图:

      

      

  • 相关阅读:
    duilib基本框架
    字典树(Trie Tree)
    如何用java有选择的输入多行文本
    java 接口默认修饰符
    3org.springframework.beans.factory.BeanDefinitionStoreException异常
    mybatis
    大O表示法
    sql in interview for a job
    static
    StringBuffer 和 StringBuilder
  • 原文地址:https://www.cnblogs.com/lzhu/p/7783373.html
Copyright © 2020-2023  润新知