1.1 OpenMPI簡介
OpenMPI是一個免費的、開源的MPI實作,兼容MPI-1和MPI-2標準。OpenMPI由開源社區開發維護,支持大多數型別的HPC平臺,并具有很高的性能。
OpenMPI目前最新版本為openmpi-1.6+,官方網站:http://www.open-mpi.org/,可從官網免費下載Openmpi原始碼安裝包。
1.2 安裝OpenMPI
以OpenMPI 1.6.3為例:
$ tar zxvf openmpi-1.6.3.tar.gz
$ cd openmpi-1.6.3
$ ./configure --prefix=/public/software/mpi/openmpi-16-intel --enable-mpirun-prefix-by-default --without-psm CC=icc CXX=icpc FC=ifort F77=ifort
$ make -j 8 && make install
設定環境變數腳本:
vim /public/software/profile.d/openmpi-intel-env.sh
#!/bin/bash
export MPI_HOME=/public/software/mpi/openmpi-16-intel
export PATH=${MPI_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${MPI_HOME}/lib:${LD_LIBRARY_PATH}
export MANPATH=${MPI_HOME}/share/man:${MANPATH}
t Tips:
1. OpenMPI安裝會自動檢測編譯節點本地可用的通信網路設備,如需支持InfiniBand網路,請確保編譯MPI前該節點已安裝OFED驅動。
2. 執行OpenMPI安裝目錄$MPI_HOME/bin下的ompi_info命令,可查詢當前OpenMPI配置資訊。
1.3 編譯MPI程式
OpenMPI提供了C/C++,Fortran等語言的MPI編譯器,如下表所示:
語言型別MPI編譯器CmpiccC++mpicxxFortran77mpif77Fortran90mpif90
MPI編譯器是對底層編譯器的一層包裝,通過-show引數可以查看實際使用的編譯器。比如:
$ mpicc -show
icc -I/public/software/mpi/openmpi-16-intel/include -pthread -L/public/software/mpi/openmpi-16-intel/lib -lmpi -ldl -lm -lnuma -Wl,--export-dynamic -lrt -lnsl -lutil
編譯程式示例:
$ source /public/software/profile.d/openmpi-intel-env.sh
$ mpicc -o hello hello.c
$ mpif90 -o hello hello.f90
1.4 運行MPI程式
OpenMPI使用自帶的OpenRTE行程管理器,啟動命令為mpirun/mpiexec/orterun,基本格式如下:
$ mpirun -np N -hostfile <filename> <program>
? -np N:運行N個行程
? -hostfile:指定計算節點,檔案格式如下:
node1 slots=8
node2 slots=8
slots=8代表可在該節點上執行8個行程,也可將node1和node2分別寫8行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/25787.html
標籤:服務器
上一篇:急求:虛擬機USB遠程直通筆記本
