分享到:
发表于 2019-10-18 15:42:42 楼主 | |
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} ? 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 ? -np N:运行N个进程 ? -hostfile:指定计算节点,文件格式如下: node1 slots=8 node2 slots=8 slots=8代表可在该节点上执行8个进程,也可将node1和node2分别写8行。 |
|
楼主热贴
个性签名:无
|