轉載自http://ld-hust.javaeye.com/blog/630915
MPICH2是與MPI-2相對應的MPICH實現版本,包含了MPI-2相對於MPI-1擴充後的一些功能,比如動態任務管理,並行I/O等。當前最新版本是MPICH2-1.0.5.
2.3.1 MPICH2 for Microsoft Windows 的安裝與配置
安裝MPICH2 for Microsoft Windows 對系統有如下要求:
1. Windows 2003/XP 的Professional 或Server 版(不支援Windows 95/98)
2. 所有主機必須能夠建立TCP/IP 串連
3. MPICH支援的編譯器有:MS VC++ 6.x,MS VC++.NET, Compaq Visual Fortran 6.x,Intel Fortran,gcc,以及g77。安裝MPICH,必須以管理員的身份登入。
本次實驗使用的是MPICH2 for Microoft Windows 版本是1.0.5p2 ,
下載後直接運行,安裝即可。是:http://www-unix.mcs.anl.gov/mpi/
mpich/downloads/mpich2-1.0.5p2-win32-ia32.msi.
以管理員的身份登入每台主機,在所有主機上建立一個同樣的賬戶(當然也可以每個機器使用不同的使用者名稱和賬戶,然後建立一個設定檔,使用命令列的方式運行程式),然後,運行下載的安裝檔案,將MPICH 安裝到每台主機上。
開啟“工作管理員”中的“進程”選項卡,查看是否有一個smpd.exe 的進程。如果有的話說明安裝成功。以後每次啟動系統,該進程將自動運行。
添加 MPICH2 路徑到Windows,以便後面可以在任何路徑下使用mpiexec:
1. 右擊 “My Computer” and 點擊 properties.
2. 選擇 Advanced 標籤.
3. 選擇 Environment Variables 按鈕.
4. 在”System Variables”下選中 “path”變數並且單擊edit. 添加 “C:/MPICH2/bin” 到列表的末尾, 注意要將它與前一個路徑用分號隔開.
安裝好MPICH2 之後還必須對每台電腦進行註冊和配置才能使用。其中註冊必須每台電腦都要進行,配置只要在主控的電腦執行就行了。註冊的目的是,將先前在每台電腦上申請的帳號與密碼註冊到MPICH2 中去,這樣MPICH2 才能在網路環境中訪問每台主機。配置方法:運行“mpich/mpd/bin/wmpiregister.exe”wmpiregister運行介面2.1所示:
圖2.1 wmpiregister運行介面
程式的設定很簡單,只要在Account中輸入你當前登入Windows所使用的使用者名稱,注意必須是管理員權限.在password中輸入該使用者名稱對應的密碼即可。MPICH2不能使用沒有密碼的使用者,如果目前使用者沒有密碼,則應該為其建立一個,然後再運行wmpiregister進行配置。輸入完成後,單擊Register進行註冊即可。顯示Password encrypted into the Registry,即表示註冊成功。點擊Register按鈕,則上面的資訊將寫入硬碟,否則儲存在記憶體中,再重新啟動之後就不存在了。
為了讓程式在許多主機上執行,而不需建立設定檔來給出相應的各個主機的資訊,主控機必須知道當前可用的主機的資訊。這時就需要運行MPICH2的配置程式來進行配置了。
MPICH2提供的配置程式是一個圖形介面的程式,可以從“開始->程式->MPICH2->Wmpiconfig.exe”啟動。啟動之後的介面2.2所示:
圖2.2 Wmpiconfig.exe運行介面
在D omain下拉式功能表中選擇當前工作群組.點擊Get Hosts,可以在下面看到工作群組中所有電腦.點擊Scan for Version將搜尋安裝了MPICH2的主機.安裝成功的主機將用綠色顯示其名稱及版本.沒有安裝的將以灰色顯示.
2.3.2 需要注意的事項
1. MPICH2 windows版本需要至少DotNet frameworks 1.1,所以要先下載安裝DotNet frameworks1.1或2.0。建議安裝Visual Studio2005,它內建Dotnet frameworks2.0.
2. 假設MPICH2安裝在%MPICH2ROOT%目錄,下面會有include, lib, bin, examples, jumpshot。將lib和include加入到VC的對應的目錄中。examples下是一個例子程式cpi,有c, c++,fortun的原始碼。配置時可以使用這個例子進行測試。
3. MPICH2會建立一個服務MPICH2 Process Manager, Argonne National Lab,提供服務的鏡像是%MPICH2ROOT%/bin/smpd。這個程式是MPICH2的進程管理器。
4. MPICH2還需要一個帳號來運行。假設建立本地帳號mpiaccount,注意所有參加叢集的機器的運行帳號最好一致。