【问题标题】:Installing MS MPI with GNU C++使用 GNU C++ 安装 MS MPI
【发布时间】:2015-12-14 00:00:32
【问题描述】:

我在我的 Win7 上安装了 GNU C++ 和 MS MPI。我已经确认带有 MPI 的 C:\Program Files\Microsoft MPI\Bin 文件夹位于系统变量的 PATH 中。使用 1) 裸 cmd 行和 2) Code::Blocks IDE 开始编译和运行并行程序时,我应该采取哪些后续步骤?如果我只是尝试编译“MPI Hello World”程序,它无法识别 mpi.h 头文件。非常感谢!

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

 int main(int argc, char* argv[])
 {
     MPI::Init(argc, argv);
     int num_procs = MPI::COMM_WORLD.Get_size();
     int rank = MPI::COMM_WORLD.Get_rank();
     std::cout << "Hello world from process " << rank << " of " << num_procs << "\n";
     MPI::Finalize();
     return 0;
  }

【问题讨论】:

    标签: c++ windows installation mpi


    【解决方案1】:

    免责声明:我没有使用过 Code::Blocks,也没有在 Windows 上使用过 GCC,所以这个建议可能对你付出的代价是值得的。不过既然没人回答,那我就试一试吧。

    假设您安装了最新的 Microsoft MPI(v7,在此处提供:https://www.microsoft.com/en-us/download/details.aspx?id=49926;请注意,有两个安装程序,您需要同时安装它们),此命令行应该构建您的示例应用程序:

    g++ -I"C:\Program Files (x86)\Microsoft SDKs\MPI\Include" -o myprog.exe myprog.cpp "C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64\msmpi.lib"
    

    执行它:

    "C:\Program Files\Microsoft MPI\Bin\mpiexec.exe" -n 3 myprog.exe
    

    我想 Code::Blocks 有添加包含和库路径和库的地方。您需要将上述 SDK 路径添加到适当的位置,并将 msmpi.lib 添加到链接库。

    另一个注意事项:您的示例代码使用 C++ MPI 绑定。这些在 MPI v2 中已弃用,并在 MPI v3 中删除。我不知道 Microsoft MPI 是否支持它们,但我建议改用 C 绑定。

    【讨论】:

    • 非常感谢您花时间回复。我已经尝试过了,但由于缺少 ,因此无法构建该应用程序。如果我用谷歌搜索,似乎我需要安装 MS Visual Studio。天哪。
    猜你喜欢
    • 2020-01-21
    • 2012-06-18
    • 2010-12-24
    • 2014-02-04
    • 2014-02-04
    • 2015-12-27
    • 2011-02-11
    • 2019-07-18
    • 2011-12-07
    相关资源
    最近更新 更多