You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu24.04下mpirun未并行运行:MPI程序串行执行问题求助

问题排查与解决步骤

以下是针对你的MPI程序无法并行运行问题的具体排查和解决方法:


1. 确认编译与运行使用同一MPI实现

最常见的原因是编译时使用的MPI编译器与运行时的MPI启动器不属于同一实现(比如混用MPICH和OpenMPI)。执行以下命令验证:

# 查看mpif90路径及版本
which mpif90
mpif90 --version

# 查看mpirun路径及版本
which mpirun
mpirun --version

如果两者输出的MPI实现不一致(比如一个是MPICH,一个是OpenMPI),请使用对应实现的完整路径执行命令,例如:

# 假设MPICH的mpirun在/usr/bin下
/usr/bin/mpirun -np 2 ./test

2. 修改代码使用MPI模块并添加Finalize

原代码使用include 'mpif.h'可能存在兼容性问题,建议改用Fortran MPI模块,并补充MPI_FINALIZE调用:

PROGRAM hello_world_mpi
use mpi  ! 替换include为模块引用

integer process_Rank, size_Of_Cluster, ierror

call MPI_INIT(ierror)
call MPI_COMM_SIZE(MPI_COMM_WORLD, size_Of_Cluster, ierror)
call MPI_COMM_RANK(MPI_COMM_WORLD, process_Rank, ierror)

print *, 'Hello World from process: ', process_Rank, ' of ', size_Of_Cluster

call MPI_FINALIZE(ierror)  ! 添加MPI终止调用

end program hello_world_mpi

重新编译并运行:

mpif90 -o test test.f90
mpirun -np 2 ./test

3. 验证编译时是否正确链接MPI库

使用 verbose 模式查看编译过程,确认MPI库被正确链接:

mpif90 -v -o test test.f90

输出中应包含类似-lmpich或-lmpi的链接参数,若未出现则说明MPI编译器包装器存在问题。

4. 重新安装MPICH

若以上步骤无效,尝试重装MPICH以修复可能的损坏:

sudo apt remove --purge mpich libmpich-dev
sudo apt install mpich libmpich-dev

重装后重新编译运行程序。


内容的提问来源于stack exchange,提问作者Fabio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 13:32:10