高性能计算(HPC)中常用的 MPI 实现之一
OpenMPI 是一个开源的 消息传递接口(MPI) 实现,广泛用于高性能计算(HPC)领域。 它支持多种网络协议和硬件平台,具有良好的可移植性和扩展性。
本指南将带你从零开始,在 Linux 系统上安装 OpenMPI,并验证其基本功能。
确保系统已安装以下依赖(以 Ubuntu/Debian 为例):
sudo apt update
sudo apt install build-essential libtool autoconf automake libnuma-dev
对于 CentOS/RHEL 用户,请使用:
sudo yum groupinstall "Development Tools"
sudo yum install numactl-devel
wget https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.5.tar.gz
tar -xzf openmpi-5.0.5.tar.gz
cd openmpi-5.0.5
./configure --prefix=/usr/local/openmpi
make -j$(nproc)
sudo make install
将 OpenMPI 的 bin 目录加入 PATH(建议写入 ~/.bashrc):
echo 'export PATH=/usr/local/openmpi/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/openmpi/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
验证是否安装成功:
mpirun --version
创建一个简单的 MPI 程序 hello.c:
#include <mpi.h>
#include <stdio.h>
int main(int argc, char** argv) {
MPI_Init(&argc, &argv);
int world_rank;
MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
printf("Hello from rank %d\n", world_rank);
MPI_Finalize();
return 0;
}
编译并运行:
mpicc hello.c -o hello
mpirun -np 4 ./hello
应看到 4 行输出,分别来自不同的 MPI 进程。