在Ubuntu上安装消息传递接口Open MPI库的教程

cnblogs   发布时间:2016-06-30 11:02:29   作者:普兒   我要评论
这篇文章主要介绍了在Ubuntu上安装消息传递接口Open MPI库的教程,Open MPI在C++程序相关开发中经常可以用到,需要的朋友可以参考下

OpenMPI是一种高性能消息传递库,最初是作为融合的技术和资源从其他几个项目(FT- MPI, LA-MPI, LAM/MPI, 以及 PACX-MPI),它是MPI-2标准的一个开源实现,由一些科研机构和企业一起开发和维护。因此,OpenMPI能够从高性能社区中获得专业技术、工业技术和资源支持,来创建最好的MPI库。OpenMPI提供给系统和软件供应商、程序开发者和研究人员很多便利。易于使用,并运行本身在各种各样的操作系统,网络互连,以及一批/调度系统。
Open MPI并不是LAM/MPI, LA-MPI和FT-MPI的简单组合,而是一种全新的MPI实现,其完全实现了MPI-1.2和MPI-2规约,并且完全支持并发和多线程应用(也就是MPI_THREAD_MULTIPLE)。
为了有效有效支持大范围的并行机,开发了高性能驱动程序,其中包括TCP/IP, shared memory, Myrinet, Quadrics, and Infiniband,更多的机器支持可能会基于用户、市场和研究需要而增加。对于网络传输错误,Open MPI提供了一种可选的特性来检测数据的完整性。通过使用报文分段和拆分到多个网络设计,Open MPI不仅可以达到可用带宽的最大值,而且当节点使用多台网络设备的时候,可以动态处理网络设备的数据丢失。
Open MPI的运行时环境提供了启动和管理并行应用的基本服务。

Ubuntu 安装 OpenMPI
1. 下载OpenMPI
在官网(http://www.open-mpi.org/software/)上下载最新版本的安装包,如:openmpi-1.8.4.tar.gz
2. 解压并进行配置

复制代码
代码如下:

tar -zxvf openmpi-1.8.4.tar.gz
cd openmpi-1.8.4
./configure --prefix="/usr/local/openmpi"

注意最后一行是将其安装到 /usr/local/openmpi目录下,可以指定为其他目录,如,用户目录下。
3. Build 并安装

复制代码
代码如下:

make
sudo make install

可以在make后加参数-j8, 表示用8核编译
4. 添加环境变量
在.bashrc文件中添加下列几行

复制代码
代码如下:

export PATH="$PATH:/usr/local/openmpi/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/openmpi/lib/"

保存后,执行

复制代码
代码如下:

sudo ldconfig

打开新的终端,使环境变量生效。
5. 测试是否安装成功

复制代码
代码如下:

mpirun

其他
Open MPI使用简单C语言面向对象系统实现,使用基于单一继承和引用计数的retain/release内存管理模型。一个object由一个结构体和单一实例化的class标识符组成。结构体的首个元素一个是指定父类结构体的指针。
宏指令会对C++类似的语义(如new, construct, destruct, delete)产生影响。因为C++项目的丰富经验和某些平台编译方面的问题,使得在开发Open MPI使用了面向对象方法,而不是直接使用C++。
一旦构造,对象引用计数被设置为1。当对象retain,计数递增,当对象release,计数递减。当计数到达0,会运行对象的析构器并释放内存。

相关文章

最新评论