Windows11+Microsoft MPI v10.1.3 安装配置记录

某个项目需要MPI支持,在此记录MS MPI的安装配置过程。

MS-MPI 安装

在微软官网下载
在这里插入图片描述
两个都下
在这里插入图片描述

双击安装,安装路径改为D盘
在这里插入图片描述

我这里先运行msi装sdk再运行的exe装的可执行文件
在这里插入图片描述

测试

在CMD中输入以下命令测试

set MSMPI

可得
在这里插入图片描述

为了让这些环境变量正式生效,能在VS中识别成功,需要重启一下设备

VS中进行配置

属性管理器-添加新项目属性表

注意是在Release x64平台下创建的属性表
在这里插入图片描述

VC++目录-包含目录

添加

$(MSMPI_INC);$(MSMPI_INC)\x64;

在这里插入图片描述

链接器-常规-附加库目录

添加

 $(MSMPI_LIB64)

在这里插入图片描述

链接器-输入-附加依赖项

添加

msmpi.lib
msmpifec.lib
msmpifmc.lib

在这里插入图片描述
配置完成


测试

可以看到使用mpi的相关项目不再报错
在这里插入图片描述

也可以重新找一个mpi相关测试代码,如

#include <mpi.h>
#include <iostream>

int main(int argc, char* argv[])
{
    // 初始化MPI环境
    MPI_Init(&argc, &argv);

    // 获取当前进程的rank和总的进程数
    int rank, size;
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    MPI_Comm_size(MPI_COMM_WORLD, &size);

    // 每个进程打印自己的信息
    std::cout << "Hello world from process " << rank << " of " << size << std::endl;

    // 简单的点对点通信
    if (size > 1) {
        if (rank == 0) { // 如果是进程0
            const char* message = "Greetings from process 0!";
            // 发送消息给进程1
            MPI_Send(const_cast<char*>(message), strlen(message) + 1, MPI_CHAR, 1, 0, MPI_COMM_WORLD);
            std::cout << "Process 0 sent a message to process 1." << std::endl;
        }
        else if (rank == 1) { // 如果是进程1
            char message[100];
            // 接收来自进程0的消息
            MPI_Recv(message, 100, MPI_CHAR, 0, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
            std::cout << "Process 1 received the message: " << message << std::endl;
        }
    }

    // 清理MPI环境
    MPI_Finalize();

    return 0;
}

运行输出为

Hello world from process 0 of 1

可在终端设置多线程

PS D:\Project\CppProject\MSMPI_Test\x64\Release> mpiexec -n 4 .\MSMPI_Test.exe
Hello world from process 0 of 4
Hello world from process 1 of 4
Hello world from process 2 of 4
Hello world from process 3 of 4
Process 0 sent a message to process 1.
Process 1 received the message: Greetings from process 0!

也可以在VS中设置调试属性,如

在这里插入图片描述


先到这儿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WoooChi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值