關於win上安裝MPI開發環境,網上能搜到的教程貌似都很老,還需要在管理員賬戶開發,感覺很詭異,於是自己摸索了下,不需要管理員賬戶,總結如下。
1. 准備
- VS 2013(VS 2010及以上都行)
- Windows 8.1操作系統(Win7及以上都行)
2. 下載並安裝MPICH For Windows
MPI是一個接口規范,我們使用的是它的實現MPICH。
首先,進入http://www.mpich.org/downloads/站點根據操作系統下載。由於我們使用的是Windows,拉到下載網頁最底部,最新的MPICH實現已經由微軟官網托管,我們直接進去下載。
然后,選擇最新的V8下載,包含兩個文件:msmpisdk.msi和MSMpiSetup.exe。
下載完畢直接分別安裝這兩個程序,都點下一步下一步即可。
3. 配置VS並寫個HelloWord測試
3.1 配置VS
首先新建一個名為MPI-demo的項目,在項目屬性中進行如下配置。
MPI安裝配置如圖:
包含目錄里面添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Include;
庫目錄的里面添加:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64;
其他必要配置:
- 配置管理器,選擇x64編譯平台;
- C/C++ -> 預處理器,添加:MPICH_SKIP_MPICXX;
- C/C++ -> 代碼生成 -> 運行庫,選擇:多線程調試(/MTd);
- 鏈接器 -> 輸入 -> 附加依賴項,添加:msmpi.lib;
3.2 HelloWord測試
新建一個C++文件,命名為main.cpp,源代碼如下(若有報錯,請檢查上述安裝過程!):
#include <stdio.h> #include <mpi.h> int main(int argc, char *argv[]) // int argc; // char *argv[]; { int myid, numprocs, namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); /* starts MPI */ MPI_Comm_rank(MPI_COMM_WORLD, &myid); /* get current process id */ MPI_Comm_size(MPI_COMM_WORLD, &numprocs); /* get number of processes */ MPI_Get_processor_name(processor_name, &namelen); if (myid == 0) printf("number of processes: %d\n", numprocs); printf("%s: Hello world from process %d \n", processor_name, myid); MPI_Finalize(); return 0; }
編譯整個項目,將編譯得到的 exe文件(debug文件夾下)放在安裝的MS-MPI的bin目錄(默認為:C:\Program Files\Microsoft MPI\Bin)下,在這個Bin目錄下按住shift鍵於空白處右鍵單擊,打開命令行窗口,輸入 mpiexec -n 10 MPI-demo.exe 得到運行結果,如下圖: