2015-12-14 28 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