2015-12-14 26 views
0

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

#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; 
    } 

回答

1

免责声明:我没有使用的代码::块,也没有我在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 

我想代码:: Blocks的具有地方补充和库路径和库。您需要将上面的SDK路径添加到适当的位置,并将msmpi.lib添加到链接库。

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

+0

非常感谢您花时间回复。我试过了,因为缺少,所以无法构建应用程序。如果我谷歌它,似乎我需要安装MS Visual Studio。天哪。 – Boki