筆者初學(xué)并行計(jì)算這一行,要做并行編程绽快,第一步很定是先配置編程環(huán)境了芥丧。
1. 準(zhǔn)備工作
操作系統(tǒng):win10
編譯器:vs2013
2. 下載并安裝MPICH ForWindows
MPI是一個(gè)接口規(guī)范紧阔,我們需要MPICH文件來實(shí)現(xiàn)。
首先续担,我們進(jìn)入http://www.mpich.org/downloads/站點(diǎn)根據(jù)操作系統(tǒng)下載擅耽。由于我們使用的是Win10系統(tǒng),拉到下載網(wǎng)頁最底部物遇,最新的MPICH實(shí)現(xiàn)已經(jīng)由微軟官網(wǎng)托管乖仇,我們直接進(jìn)去下載。
進(jìn)去后询兴,選擇最新的V8.1下載乃沙,包含兩個(gè)文件:msmpisdk.msi和MSMpiSetup.exe。
載完畢直接分別安裝這兩個(gè)程序诗舰,都點(diǎn)下一步警儒,下一步即可。
3. 配置VS2013始衅,編寫個(gè)HelloWord測試程序
3.1新建一個(gè)C++ 的win32項(xiàng)目冷蚂,起名為HelloWord_MPI
3.2 點(diǎn)擊下一步缭保,在“應(yīng)用程序類型”中選擇“控制臺應(yīng)用程序”汛闸,“附加項(xiàng)”中選擇“空項(xiàng)目”。點(diǎn)擊完成艺骂。
3.3 點(diǎn)擊“調(diào)試”->“屬性”
3.4 點(diǎn)擊“配置管理器”
在“活動解決方案平臺”下選擇“新建”
把“ARM”替換為“X64”
3.5 選擇C/C++ ->預(yù)處理器->“編輯”诸老,添加:MPICH_SKIP_MPICXX
3.6 C/C++ -> 代碼生成 -> 運(yùn)行庫,選擇:多線程調(diào)試(/MTd)
3.7 鏈接器 -> 輸入 -> 附加依賴項(xiàng)钳恕,添加:msmpi.lib
3.8 在VC++目錄這一項(xiàng)中在包含目錄中添加C:\Program Files (x86)\Microsoft SDKs\MPI\Include; 在庫目錄的里面添加:C:\ProgramFiles (x86)\Microsoft SDKs\MPI\Lib\x64;
最后涯鲁,點(diǎn)擊應(yīng)用剩盒,確定,這樣編譯器的環(huán)境就配置完成了!E怼!
4. 新建一個(gè)WelloWord.cpp喜爷。
編寫如下代碼
#include<stdio.h>
#include<mpi.h>
int main(int argc, char *argv[])
{
int myid, numprocs, namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &myid);
MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
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;
}
注意:如果代碼有紅線母市,請重新進(jìn)行步驟3.8
編譯整個(gè)項(xiàng)目,將編譯得到的 exe文件(HelloWord_MPI\x64\Debug文件夾下)放在安裝的MS-MPI的bin目錄(默認(rèn)為:C:\ProgramFiles\Microsoft MPI\Bin)下托嚣,在這個(gè)Bin目錄下按住shift鍵于空白處右鍵單擊巩检,打開powershell窗口,輸入 mpiexec -n 8 HelloWord_MPI.exe 得到運(yùn)行結(jié)果示启,如下圖: