我可以: 邀请好友来看>>
ZOL论坛 > 技术论坛 > 服务器综合讨论论坛 > OpenMPI编译
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

OpenMPI编译

23浏览 / 0回复

宝禄88

宝禄88

0
精华
5
帖子

等  级:Lv.1
经  验:137
  • Z金豆: 131

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:广东
  • 注  册:2019-10-18
  • 登  录:2023-06-19
发表于 2019-10-18 15:42:42
电梯直达 确定
楼主

1.1 OpenMPI简介

OpenMPI是一个免费的、开源的MPI实现,兼容MPI-1和MPI-2标准。OpenMPI由开源社区开发维护,支持大多数类型的HPC平台,并具有很高的性能。

OpenMPI目前最新版本为openmpi-1.6+,官方网站: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行。


高级模式
论坛精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL论坛您有任何使用问题和建议 您可以 联系论坛管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表