MPI并行环境配置(Windows 10+VSIDE Community 2019)

第一部分 · 安装 Microsoft MPI 拓展库

  1. 前往 MS-MPI Downloads ,到达官方主页,此页面没有简体中文版本。
    首页样式
  2. 选择上图的绿色链接(以后可能会发布新版本),进入下载页。
    下载任务页
  3. 选择上图中的橙色选项,进入任务预览界面。
    任务预览页
  4. 在上图中,全选所有程序包,进行下载。
  5. 文件下载后,应当存在以下2个文件(来自 Git Bash ):
    已下载文件列表
  6. 分别安装2个安装包,在完成本博客所有指导前,请务必牢记您的安装路径

第二部分 · 在 Visual Studio IDE 中创建项目

  1. 启动 Visual Studio IDE 主程序。
    VSIDE 主界面
  2. 选择 创建新项目 ,进入项目模板目录。
    项目模板目录
  3. 选择 Windows 桌面向导 ,选择 下一步 并进入项目创建配置。
  4. 填写所有配置后,完成项目的创建流程,进入项目开发环境。
    项目开发环境

第三部分 · 启用 Microsoft MPI 并行编程环境

  1. 对您的项目名称右键,选择 属性 进入项目配置页面。使用 Alt + Enter 也能快速访问项目配置。
  2. 确保项目所针对的平台为 x64
    配置列表
  3. 展开左侧配置类别栏,定位到配置类 配置属性 => C/C++ => 常规 ,关闭 SDL检查
    关闭SDL检查
  4. 前往 配置属性 => C/C++ => 预处理器定义 ,编辑配置并添加 MPICH_SKIP_MPICXX 选项。
    修改预处理器定义
    添加定义
  5. 前往 配置属性 => C/C++ => 代码生成 ,切换 运行库多线程调试 (/MTd)
    配置运行库
  6. 前往 配置属性 => 链接器 => 输入 ,编辑 附加依赖项 并添加 msmpi.lib
    编辑附加依赖项
    追加文件
  7. 前往 配置属性 => VC++ 目录 ,编辑 包含目录 并添加 $MPI_SDK_HOME\Include ,其中 $MPI_SDK_HOME 是 Microsoft MPI SDK 的安装目录。
    编辑包含路径
    添加目录
  8. 前往 配置属性 => VC++ 目录 ,编辑 库目录 并添加 $MPI_SDK_HOME\Lib\x64 ,其中 $MPI_SDK_HOME 是 Microsoft MPI SDK 的安装目录。
    编辑库目录
    添加目录
  9. 应用确定 保存配置。

第四部分 · 编码、编译和运行

  1. 右击 源文件添加 => 新建项 ,选择 C++头文件
    添加代码文件
  2. 写入以下源代码
// HelloMPI.c

#include <stdio.h>
#include <string.h>       // For strlen() function
#include <mpi.h>          // For MPI programming functions

#define MAX_STRING (100)

int main(void)
{
    char greeting[MAX_STRING];
    int comm_sz;            // Number of processes
    int my_rank;            // My process rank

    MPI_Init(NULL, NULL);
    MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
    MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

    if (my_rank != 0)
    {
        sprintf(greeting, "Greetings from process %d of %d!", my_rank, comm_sz);
        MPI_Send(greeting, strlen(greeting) + 1, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
    }
    else
    {
        printf("Greetings from process %d of %d!\n", my_rank, comm_sz);
        for (int q = 1; q < comm_sz; q++)
        {
            MPI_Recv(greeting, MAX_STRING, MPI_CHAR, q, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
            printf("%s\n", greeting);
        }
    }

    MPI_Finalize();
    return 0;
}
  1. 选择 生成 => 生成项目 ,由 Visual Studio IDE 帮助完成项目编译生成。
    编译生成
    项目生成完毕
  2. 由于 Visual Studio IDE 仅支持串行程序,不可直接通过 VSIDE 进行程序运行。选择 工具 => 命令行 => 开发者命令提示 ,进入命令提示符界面。
    启动命令提示符
    开发者命令提示符
  3. 使用 mpiexec -n $PROCESS_COUNT x64\Debug\$TARGET.exe 执行程序,其中 $PROCESS_COUNT 为任意指定的进程数量, $TARGET 为编译生成的可执行文件名。
    可执行程序8进程并行结果
发布了11 篇原创文章 · 获赞 8 · 访问量 4758

猜你喜欢

转载自blog.csdn.net/u011367208/article/details/105043867
今日推荐