准備軟件:官網上下載對應的版本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,可以說機群中計算機節點越多,處理越快,效率幾乎是線性增長。