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

使用Intel MPI运行osu_bw遇PMIx报错,Open MPI可正常执行求助

Intel MPI运行osu_bw报错的排查方案

报错原因分析

从日志看,核心问题是Intel MPI检测到了PMI1/2环境,但无法连接到PMIx服务器,导致启动的两个进程变成独立单例,无法组成MPI通信域。因此osu_bw检测到每个进程都是单独运行,触发"需要恰好两个进程"的错误。对比Open MPI的成功命令,主要差异点有两个:

  • Open MPI显式指定了主机列表--host node1,node2,而Intel MPI命令未指定
  • 当前环境可能残留了与PMI相关的环境变量(比如Slurm或Open MPI的环境),干扰了Intel MPI的启动流程

解决步骤

1. 清理冲突环境变量

先清除可能存在的PMI/Slurm相关环境变量,避免干扰Intel MPI:

unset PMI_RANK PMI_SIZE SLURM_JOB_ID SLURM_NPROCS

之后重新运行Intel MPI命令:

mpirun -np 2 ./osu_bw

2. 显式指定主机列表

和Open MPI一样,明确指定运行进程的主机,确保进程能正确建立通信:

mpirun -np 2 --host node1,node2 ./osu_bw

如果有多个节点,也可以用主机文件:

mpirun -np 2 -hostfile hostfile.txt ./osu_bw

(hostfile.txt每行一个主机名)

3. 强制禁用PMIx/PMI适配

强制Intel MPI使用自身的启动机制,跳过PMI检测:

mpirun -np 2 -pmix=off ./osu_bw
# 或者指定使用PMI2(如果环境支持)
mpirun -np 2 -mpi=pmi2 ./osu_bw

4. 确认Intel MPI环境加载正确

确保当前环境只加载了Intel MPI的配置,未混入Open MPI的环境:

# 先卸载Open MPI的环境(如果之前加载过)
module unload openmpi
# 加载Intel MPI的环境脚本
source /data/software/install/oneapi/mpi/latest/env/vars.sh
# 验证mpirun路径正确
which mpirun

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 10:42:39