探索开源高性能计算的消息传递标准
OpenMPI 是一个开源的 消息传递接口(Message Passing Interface, MPI)实现, 专为高性能计算(HPC)环境设计。它支持多种网络协议和硬件平台,被广泛应用于科学计算、工程仿真、 人工智能训练等需要大规模并行处理的场景。
OpenMPI 由多个研究机构和公司共同维护,遵循 BSD 许可证,具有高度可移植性和可扩展性。
以下是一个经典的 "Hello World" MPI 程序:
#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);
int world_size;
MPI_Comm_size(MPI_COMM_WORLD, &world_size);
printf("Hello from rank %d out of %d processors\n", world_rank, world_size);
MPI_Finalize();
return 0;
}
编译与运行命令:
mpicc hello.c -o hello
mpirun -n 4 ./hello
在大多数 Linux 发行版中,可通过包管理器快速安装:
sudo apt update
sudo apt install openmpi-bin libopenmpi-dev
验证安装:
mpirun --version