关于OPENMPI

OpenMPI是一个高性能的消息传递库,源自多个科研项目的融合,实现了MPI-2标准。它支持多种操作系统、网络互连和批处理/调度系统,由科研机构和企业共同维护。要安装OpenMPI,首先需要加载gcc环境变量,推荐使用gcc 9.3.0。在安装前,如果服务器有IB驱动和ucx,可以考虑在编译OpenMPI时指定ucx。OpenMPI的源码可以从GitHub获取,安装步骤包括下载ucx和OpenMPI的tar.gz文件,解压并进行编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        OpenMPI [1]
 是一种高性能消息传递库,最初是作为融合的技术和资源从其他几个项目(FT- MPI, LA-MPI, LAM/MPI, 以及 PACX-MPI),它是MPI-2标准的一个开源实现,由一些科研机构和企业一起开发和维护。因此,OpenMPI能够从高性能社区中获得专业技术、工业技术和资源支持,来创建最好的MPI库。OpenMPI提供给系统和软件供应商、程序开发者和研究人员很多便利。易于使用,并运行本身在各种各样的操作系统,网络互连,以及一批/调度系统。【来自百度百科】

OpenMPI在github上,下载地址: Releases · open-mpi/ompi · GitHub

官网:https://www.open-mpi.org/

指导文档地址:Open MPI v4.1.1 documentation

安装:

安装前准备:加载 gcc 环境变量,建议加载 gcc 9.3.0, Centos7下安装可参考 

04-01
### OpenMPI 的安装与使用 #### 什么是 OpenMPIOpenMPI 是一种实现消息传递接口 (Message Passing Interface, MPI) 的开源库,广泛用于高性能计算领域中的并行程序开发。它支持多种操作系统和硬件架构,并提供了丰富的功能来优化通信性能[^1]。 #### OpenMPI 和 OpenMP 的区别 尽管名字相似,但 OpenMPI 和 OpenMP 是两种完全不同的技术: - **OpenMPI**:基于进程间的通信机制,适用于分布式内存系统。 - **OpenMP**:通过线程共享内存的方式进行并行化处理,主要用于共享内存系统。 --- #### OpenMPI 的安装步骤 ##### 准备工作 在安装 OpenMPI 之前,需确保已安装必要的编译工具链,例如 `gcc`、`g++` 和 `python`。可以通过以下命令验证其存在性: ```bash gcc --version g++ --version python --version ``` 如果未安装这些工具,则可通过包管理器(如 Ubuntu 中的 apt-get)完成安装[^5]。 ##### 下载与解压 可以从官方站点获取最新版本的 OpenMPI 源码包。假设下载的是 `openmpi-4.0.0.tar.gz` 文件,将其放置到 `/opt/software` 目录下后执行以下操作: ```bash tar -xvf openmpi-4.0.0.tar.gz cd openmpi-4.0.0/ ``` ##### 配置与构建 运行配置脚本指定目标路径,并启动构建过程: ```bash ./configure --prefix=/opt/openmpi make make install ``` 上述命令会将 OpenMPI 安装至 `/opt/openmpi` 路径下[^3]。 ##### 设置环境变量 为了使系统能够识别新安装的 OpenMPI 库,需要更新 shell 的环境变量。编辑全局或用户的 `.profile` 文件,添加如下内容: ```bash export PATH=$PATH:/opt/openmpi/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/openmpi/lib ``` 完成后重新加载配置文件: ```bash source /etc/profile ``` ##### 测试安装 创建一个简单的 MPI 程序以确认安装是否成功。例如编写以下 C 代码保存为 `test.c`: ```c #include <stdio.h> #include <mpi.h> int main(int argc, char *argv[]) { int rank, size; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); printf("Hello from process %d of %d\n", rank, size); MPI_Finalize(); return 0; } ``` 使用 OpenMPI 提供的编译器封装工具对其进行编译: ```bash mpicc test.c -o test_mpi ``` 最后运行该可执行文件,观察输出结果: ```bash mpirun -np 4 ./test_mpi ``` 正常情况下应显示来自四个不同进程的消息[^2]。 --- #### 编写 MPI 程序的最佳实践 建议始终采用 Open MPI 所附带的 “wrapper” 工具(如 mpicc 对于 C 程序),因为它们能自动链接所需的库以及设置正确的标志位[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值