複製鏈接
請複製以下鏈接發送給好友

MPICH

鎖定
MPICH是計算機術語。
中文名
MPICH
釋    義
MPI標準的一種最重要的實現
特    點
可以免費從網上下載
性    質
MPICH最能反映MPI的變化和發展

MPICH簡介

MPICH是MPI標準的一種最重要的實現,可以免費從網上下載。MPICH的開發與MPI規範的制訂是同步進行的,因此MPICH最能反映MPI的變化和發展。
MPICH的開發主要是由Argonne National Laboratory和Mississippi State University共同完成的,在這一過程中IBM也做出了自己的貢獻,但是MPI規範的標準化工作是由MPI論壇完成的。MPICH是MPI最流行的非專利實現,由Argonne國家實驗室密西西比州立大學聯合開發,具有更好的可移植性,現階段多流行的是MPICH2.

MPICH功能

通過安裝MPICH構建MPI編程環境,從而進行並行程序的開發。MPICH是MPI(Message-Passing Interface)的一個應用實現,支持最新的MPI-2接口標準,是用於並行運算的工具。

MPICH安裝

Windows環境下的安裝
1 準備工作:
- 操作系統分別為 Win XP 和 Win 2003 server;
- Microsoft .NET Framework 2.0 :必需;
- vcredist_x86.exe :可能會用得到。筆者在安裝時碰到需要安裝visual c++ 2005 sp1 的提示,此時安裝該 vcredist 程序即可。
- mpich2-1.0.6p1-win32-ia32.msi :mpich2的安裝文件;
- mpich2 主頁:網上可以輕易搜到mpi主頁,從這裏可以下載所需 mpich2 程序和相應文檔。
2 環境搭建
2.1 在兩台機器上分別安裝Microsoft .NET Framework 2.0和vcredist_x86.exe;
2.2 在兩台機器上分別安裝mpich2-1.0.6p1-win32-ia32.msi
將.../MPICH2/bin(即安裝目錄,如:D:/Program Files/MPICH2/bin)添加至系統環境變量path中 [1] 
我用的參與計算的系統都是WindowsXP Pro SP2,安裝的過程沒什麼太特別的,一般就是默認就可以,只是其中有個地方要填一個什麼passphrase,上面提示説所有系統都要用相同的passphrase,照做就是了,在所有參與計算的結點機器上都填一樣的passphrase就好了。另外就是需要.net framework 2的運行環境。
默認安裝的位置是C:\Program Files\MPICH2,下面的bin目錄下是系統配置運行需要的程序,為了方便在控制枱使用,可以把C:\Program Files\MPICH2\bin加到系統的PATH變量中去。Include是頭文件,開發的時候用,lib是鏈接程序的時候用的庫文件。同時,安裝程序還會自動向系統註冊一個服務MPICH2 Process Manager,我們從控制面板-管理工具-服務裏就能找到,這是管理運行MPI程序的一個服務,安裝好後就是自動啓動的,所以一般也就不用動它。
安裝完畢後開始菜單-程序中就添加了一個MPICH2目錄,其中就有上面提到的Jumpshot,另外wmpiconfig.exe是用來配置運行環境的。wmpiregister.exe則是用來註冊用户的,使用MPI之前需要在這個程序裏註冊一個系統裏已經存在的用户,而且這個用户必需擁有管理員權限,擁有運行我們安裝了的MPI系統的能力。比如我就在所有參與運算的機器上添加了一個管理員mpi,密碼也是mpi [2] 

MPICH測試運行

(windows)
.

MPICH單機測試

測試前首先需要註冊一個用户,具體操作如下:開始→所有程序→MPICH2→wmpiregister.exe:
有一點需要説明:該用户名須為有效的操作系統管理員賬户,密碼對應為系統登錄密碼。接下來,測試時有兩種方式可供選擇:GUI界面和命令行
- GUI方式:開始→所有程序→MPICH2→wmpiexec.exe;
MPICH MPICH
- 命令行方式:mpiexec n 2 D:/Program Files/MPICH2/examples/cpi.exe。

MPICH聯機測試

要點:
-參加並行計算的機器須至少註冊一個相同的賬户,如筆者兩台PC上都註冊了一個 mpi 賬號;這些賬户最好位於同一工作組,當然不在同一工作組也可以,筆者作過測試,沒有問題。
-創建JOB目錄。每台機器上須有一個路徑相同的目錄,用於存放待執行的JOB(即 exe 程序),筆者創建的目錄是 d:/mpi/ ,並將測試用的 cpi.exe 文件copy至該目錄下;
-聯機執行命令:mpiexec -hosts n Node_1 Node_2 ... Node_n .../***.exe 。“-hosts”表示要聯機運行,n 表示有兩台機器參加運算,Node_1(及Node_2 ...)為各機器的計算機名或IP。".../***.exe" 必須位於前面設置的目錄中。

MPICH編譯

安裝MPICH並測試成功之後,就可以利用MPI進行編譯和運行程序:
這裏假定 MPI 程序的開發分為兩個階段
-使用 visual studio 編譯MPI程序,將其debug為exe文件;
-將exe文件copy到上面環境搭建過程中創建的JOB目錄下,聯機運行。
MPICH MPICH
環境搭建好之後,接下來的編譯和運行就非常簡單。編譯MPI程序前,創建一個c++工程,MPI代碼放於工程中的cpp文件中,build,start debuging...,OK,編譯完成。copy exe文件至每台機器的JOB目錄,進入任何一台機器的cmd下,執行聯機運行命令即可。
示例(visual studio 2005):
參考資料