1. 程式人生 > >MPICH安裝方法及簡單測試

MPICH安裝方法及簡單測試

MPICH 安裝方法

2. 建立資料夾。mpich-install 用於存放執行makeinstall後的結果,主要包括可執行檔案與動態連結庫,主要包括的資料夾分別是“bin”、“include”、“lib”、“share”。

          mpich-temp 用於存放配置完成後的原始碼,以及make執行後的目標檔案。

3. 配置。根據安裝目錄“mpich-install” 設定“--prefix=/home/andywang/mpich-install”。不需要(同時也沒有)fortran編譯器,設定“--disable-fortrtan”。命令如下:

/home/andywang/mpich-3.2/configure --prefix=/home/andywang/mpich-install --disable-fortran 

產生兩個結果,分別是螢幕上顯示的結果,我存了一個“config.result”,還有一個是configure執行產生的“config.log”。

4. make。在“mpich-temp”下直接執行make,為方便以後研究mpi的原始碼,將結果重定向到“make.result”。過程時間比較長,需要耐心等待微笑,命令如下:

make > make.result 2>&1

這一步會產生“.lo”檔案,給大家補充一點相關知識。還是

5. make install。直接執行即可,命令如下:

make install > makeinstall.result 2>&1

6. 這一步應該設定環境變數,不過我沒有,因為之後還有安裝openmpi,進行mpi執行時間的對比。

寫個程式測試下,採用原始碼資料夾中example下計算pi的示例。

編譯命令如下:

/home/andywang/mpich-install/bin/mpicc -o cpi cpi.c

執行命令如下:
/home/andywang/mpich-install/bin/mpiexec ./cpi
Process 0 of 1 is on andywang-HP-Pro-2080-Microtower-PC
pi is approximately 3.1415926544231341, Error is 0.0000000008333410
wall clock time = 0.000157

再使用“--verbose”選項檢視gcc在編譯過程中所使用的編譯選項,命令如下:

/home/andywang/mpich-install/bin/mpicc --verbose -o cpi cpi.c

結果太多了就不都貼出來了,主要就是兩個編譯選項,分別是“-I /home/andywang/mpich-install/include”與“-L/home/andywang/mpich-install/lib”,同時還有指定連結庫“-lmpi”,用gcc編譯試一下,命令如下:
gcc cpi.c -I/home/andywang/mpich-install/include -L/home/andywang/mpich-install/lib -lpthread -lmpi -o cpi

由於沒有設定LD_LIBRARY_PATH,因此在測試時會出現如下錯誤:

./cpi: error while loading shared libraries: libmpi.so.12: cannot open shared object file: No such file or directory

因此直接將“cpi”放到執行庫檔案所在資料夾下,執行結果如下:
/home/andywang/mpich-install/bin/mpiexec ./cpi
Process 0 of 1 is on andywang-HP-Pro-2080-Microtower-PC
pi is approximately 3.1415926544231341, Error is 0.0000000008333410
wall clock time = 0.000231
想靜態編譯沒成功。

以上。