openmpi是乙個免費的、開源的mpi實現,相容mpi-1和mpi-2標準。openmpi由開源社群開發維護,支援大多數型別的hpc平台,並具有很高的效能。
以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=$/bin:$
export ld_library_path=$/lib:$
export manpath=$/share/man:$
þtips:
1. openmpi安裝會自動檢測編譯節點本地可用的通訊網路裝置,如需支援infiniband網路,請確保編譯mpi前該節點已安裝ofed驅動。
2. 執行openmpi安裝目錄$mpi_home/bin下的ompi_info命令,可查詢當前openmpi配置資訊。
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
openmpi使用自帶的openrte程序管理器,啟動命令為mpirun/mpiexec/orterun,基本格式如下:
$ mpirun-np n -hostfile
ÿ -np n:執行n個程序
ÿ -hostfile:指定計算節點,檔案格式如下:
node1 slots=8
node2 slots=8
slots=8代表可在該節點上執行8個程序,也可將node1和node2分別寫8行。
linux下怎樣安裝openmpi
1.首先進行解壓檔案openmpi 1.6.2.tar.gz。2.然後執行cd openmpi 1.6.2 3.接著執行.configure,一段時間之後發現缺少g 編譯器,所以執行sudo apt get install g 4.執行完之後再執行一次.configure就可以配置成功,5.執行su...
CentOS安裝OpenMPI失敗解決
按照 moyemoji 前輩提供的安裝方法 這個 嘗試在centos 7 安裝openmpi失敗數次後,折騰出來的一種解決辦法。前兩步按照上面來就好,然而在執行以下命令後 make make install出現了類似 無法建立資料夾 許可權不足 之類的報錯。之後的操作也自然會失敗。嘗試後發現,在我的...
安裝openmpi 基於Ubuntu16 04
一.首先sudo apt get install build essential sudo apt get install checkinstall二.然後1.go to and download the latest tar.gz package 2.create a directory to i...