Windows10 VS2017 Microsoft MPI v8.1.1 环境配置

来源:互联网 发布:5g网络支持两张电信卡 编辑:程序博客网 时间:2024/06/05 07:22

Windows10 VS2017 Microsoft MPI v8.1.1 环境配置

  • 基础环境:默认为Wnidows10+VS2017


    下载MPI

    Windows为了兼容MPI,自己做了msmpi版本。如果要安装正真意义上的MPI的话,请直接去www.mpich.org下载对应版

MPI官方下载页面

不过,这里我们使用的是msmpi版本
https://www.microsoft.com/en-us/search/result.aspx?q=mpi
这里写图片描述
根据需要选择版本,此处使用V8.1.1版本
这里写图片描述
二者都勾选下载,下载后分别点击安装msmpisdk.msi与MsMpiSetup.exe(根据提示安装即可)


VS2017配置项目环境

  • 新建项目->Visual C++->Win32控制台应用
    这里写图片描述

  • 选择空项目
    这里写图片描述

  • 添加新建项->C++文件

  • 配置项目属性
    这里写图片描述
    包含目录加入mpi SDK中的include文件夹
    引用目录加入mpi SDK中的lib/X64文件夹
    关于文件夹的选择,SDK文件夹路径在安装的时候有选择,选择自己的路径,注意include文件夹中有mpi.h,lib/X64文件夹中有msmpi.lib

  • 链接器->输入->附加依赖项 加入msmpi.lib(此即是之前库目录下的lib文件

这里写图片描述

  • C/C++->预处理器->预处理器定义->加入MPICH_SKIP_MPICXX(防止警告)

这里写图片描述


配置完成,demo测试

#include "mpi.h"  #include <stdio.h>  int main(int argc, char* argv[]){    int rank, numproces;    int namelen;    char processor_name[MPI_MAX_PROCESSOR_NAME];    MPI_Init(&argc, &argv);    MPI_Comm_rank(MPI_COMM_WORLD, &rank);//获得进程号    MPI_Comm_size(MPI_COMM_WORLD, &numproces);//返回通信子的进程数    MPI_Get_processor_name(processor_name, &namelen);    fprintf(stderr, "hello world! process %d of %d on %s\n", rank, numproces, processor_name);    MPI_Finalize();    return 0;}
  • 关于MPI程序,需要使用mpiexec命令运行

vs2017编译完成后,进入程序生成的.exe文件所在的文件夹,命令行运行.exe程序
mpiexec -n 3 MPI.exe
这里写图片描述

成功

原创粉丝点击