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

Ubuntu 24.04LTS下mpirun -np 4未充分利用核心问题求助

问题分析与修复方案

问题根源

Ubuntu 22.04升级到24.04后,MPICH的HYDRA启动器默认配置(如主机解析逻辑)发生了变化,导致多进程启动时无法正确组建统一的MPI_COMM_WORLD,每个进程都独立形成了单进程通信域,因此出现四次I'm processor 0 of 1!的异常输出。

修复步骤

  • 修复本地主机解析
    编辑/etc/hosts文件,确保包含以下解析规则:

    127.0.0.1   localhost
    ::1         localhost ip6-localhost ip6-loopback
    

    保存后执行ping localhost,确认解析正常返回127.0.0.1。

  • 显式指定主机运行
    直接在启动命令中强制指定多实例主机,绕开默认配置问题:

    mpirun -n 4 -host localhost:4 ./a.out
    

    或者拆分写法:

    mpirun -n 4 -host localhost,localhost,localhost,localhost ./a.out
    
  • 配置MPICH永久主机文件

    1. 创建主机配置文件~/mpi_hosts,内容为:
      localhost slots=4
      
    2. 运行时指定该文件:
      mpirun -n 4 -hostfile ~/mpi_hosts ./a.out
      
    3. 若想永久生效,创建~/.mpich.conf文件并添加:
      HYDRA_HOST_FILE=/home/你的用户名/mpi_hosts
      
  • 排查MPI版本冲突
    确认当前使用的MPI工具链统一为MPICH:

    which mpicc
    which mpirun
    

    若输出包含openmpi路径,先卸载冲突组件再重装MPICH:

    sudo apt remove openmpi-bin openmpi-common
    sudo apt install --reinstall mpich
    
  • 验证基础启动功能
    先执行基础命令确认多进程启动正常:

    mpirun -n 4 hostname
    

    若输出4行localhost,说明进程启动逻辑正常,再测试你的MPI程序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 00:02:06