Windows+Microsoft MPI v10.1.3 安装配置记录
- MS-MPI 安装
 - VS中进行配置
 - 属性管理器-添加新项目属性表
 - VC++目录-包含目录
 - 链接器-常规-附加库目录
 - 链接器-输入-附加依赖项
 
- 测试
 
某个项目需要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中设置调试属性,如

先到这儿。


















![re题(37)BUUCTF-[GWCTF 2019]xxor](https://i-blog.csdnimg.cn/direct/7db15edf3b894a95acf8e2a59abf6ad9.png)
