準備軟體:官網上下載對應的版本http://www.mcs.anl.gov/research/projects/mpich2/index.php。這裡採用的是win32版本。
裝置:電腦若干台,均為windows作業系統
環境配置過程如下:
1.安裝軟體
2.添加新的管理員賬戶
3.註冊賬戶
4.配置
下面依次說明。
一.安裝軟體
在每台電腦上安裝好mpi的安裝包,安裝的路徑任意選擇,沒必要每台電腦都是相同路徑。
安裝過程中在使用者那選擇everyone,安裝好後,目錄如下
然後將MPICH2的bin目錄添加進系統內容變數Path中。
注意:安裝好後,在資源管理員的進程內會有smpd.exe的進程,要進行MPI計算,必須要有這個進程,沒有的話嘗試重新安裝。
二.添加新的使用者賬戶
為了是電腦群能使用MPI,應該給每個安裝了MPI的電腦添加一個相同的賬戶,賬戶密碼也必須相同,賬戶要求是管理員身份。這裡分別為每台電腦建立一個名為mpi的賬戶,密碼隨便設,假設就是123.
這裡要注意:如果原來使用的是Administrator賬戶,建立mpi賬戶後每次開機只有mpi賬戶可供選擇。實際上Administrator賬戶既然存在,只不過是被隱藏了,要是開始時可以選擇使用Administrator還是mpi賬戶登入,可以修改註冊表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\SpecialAccounts\UserList ,然後在右側的視窗中找到以Administrator命名的Dword鍵(如果沒有可以自己建立),雙擊,將索引值由0改為1,退出後重新啟動電腦。
還有一點,要進行mpi計算,沒有必要非要使用mpi賬戶登入電腦,即只要電腦上存在mpi這個賬戶即可進行mpi的並行計算,與使用者選擇是否利用mpi賬戶登入電腦沒有關係(很多文章沒有闡釋清楚這個問題)。
三.註冊賬戶
點擊開始——MPICH2——wmpiregister.exe。將mpi賬戶和密碼123添加進去,註冊,然後確定。
四.配置
測試前需要在每台電腦上建立一個路徑相同的檔案夾,比如在D盤根目錄下建立一個mpi的檔案夾,將編譯成功需要執行的.exe檔案放入mpi檔案夾內。
注意將各電腦的防火牆關了。各電腦在同一個項目組內,這裡我使用的個電腦都是在一個路由器內,都在WORKGROUP工作群組內。
選擇開始——MPICH2——wmpiconfig.exe,如,如果安裝了MPI的電腦串連成功會高亮顯示(如綠色)。如果有串連不成功的,請按以上步奏仔細檢查。
測試
利用安裝檔案的求π值樣本進行測試(在examples內)。
測試1:單機測試
在本台電腦上直接運行cpi.exe,輸入一個比較大的值800 000 000,如下
這裡只使用了單個cpu核,如果電腦cpu是多核的,要使用cpu的多個核,可以選擇開始——MPICH2——wmpiexec.exe,在Application中選擇cpi.exe,處理器選擇2個,然後執行,如
執行結果如下:
可以看到,速度提高了將近一倍,因為使用了2個cpu核。程式運行時可以開啟資源和管理器查看,對於雙核cpu來說,單核時cpu使用率是50%,雙核時cpu使用率是100%。
測試2:機群測試
利用機群進行計算時,在cmd下採用命令列進行。
命令列格式類似:mpiexec -hosts n ip1 ip2 ... d:/mpi/cpi.exe
n是要利用的電腦節點個數,ip1/ip2是電腦的ip地址。如下採用2個電腦節點(算上本機):
可以看到與使用雙核效果差不多。
當採用3個電腦節點時,結果如下:
可以看到,使用的時間將近是單機使用單cpu核心的1/3,可以說機群中電腦節點越多,處理越快,效率幾乎是線性增長。