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

使用Slurm与Intel MPI指定网络接口的方法及脚本验证

在Slurm中为PyTorch DDP(MPI后端)指定InfiniBand接口

一、核心实现方式

在Slurm环境下,无法直接像mpirun那样用iface参数指定接口,需要通过MPI环境变量配合Slurm参数来实现:

  • 对于Intel MPI(你的脚本采用的是该实现),核心是通过I_MPI_FABRICS、I_MPI_OFI_PROVIDER指定通信框架和适配InfiniBand的provider
  • Slurm的--network=ib0参数用于告知调度器优先分配IB资源,但实际通信路径由MPI环境变量控制

二、示例脚本的验证与调整

正确的配置项

  1. Slurm任务参数:--ntasks=16、--nodes=4、--ntasks-per-node=4匹配DDP多节点多进程的部署需求
  2. Intel MPI核心变量:
    • I_MPI_FABRICS=shm:ofi:本地进程用共享内存通信,跨节点用OFI框架,兼顾性能和跨节点需求
    • I_MPI_OFI_PROVIDER=psm2:指定PSM2作为InfiniBand通信的provider,是IB环境下的标准配置
    • I_MPI_DEBUG=5:开启调试日志,方便排查通信异常
  3. srun参数:--mpi=pmi2指定用PMI2协议和Slurm交互,兼容性良好

需要调整的内容

  1. 启用FI_TCP_IFACE=ib0:
    脚本中注释掉的export FI_TCP_IFACE=ib0必须打开,OFI框架需要明确指定IB接口,否则可能自动 fallback 到以太网
  2. 删除无效的SLURM_NETWORK=ib0:
    Slurm不存在这个环境变量,设置了也没用,直接删掉
  3. 开启I_MPI_FALLBACK=0:
    打开注释的export I_MPI_FALLBACK=0,强制MPI只使用指定的通信fabric,防止IB不可用时自动切到以太网,确保通信走IB
  4. (可选)确认mpiP路径:
    如果不需要性能分析,可以去掉LD_PRELOAD相关配置;如果需要,确保mpiP的库路径正确且和当前MPI版本兼容

调整后的完整脚本

#!/bin/bash
#SBATCH --job-name=resnet50_cifar100_job
#SBATCH --output=resnet50_cifar100_output_opx_%j.txt
#SBATCH --error=resnet50_cifar100_error_opx_%j.txt
#SBATCH --ntasks=16                
#SBATCH --nodes=4              
#SBATCH --ntasks-per-node=4        

# Source the environment setup script
source $HOME/activate_environment.sh

# Activate the Python virtual environment
source $HOME/torch_mpi_env/bin/activate

# 强制绑定IB接口,禁用以太网 fallback
export FI_TCP_IFACE=ib0
export FI_PROVIDER=psm2
export I_MPI_FABRICS=shm:ofi
export I_MPI_FALLBACK=0
export I_MPI_DEBUG=5
export I_MPI_OFI_PROVIDER=psm2

export MPIP="-f ./mpip_results"

# 启动任务
srun --mpi=pmi2 --network=ib0 \
     --export=ALL,LD_PRELOAD=$HOME/mpiP_build/lib/libmpiP.so \
     python $HOME/torch_projects/resnet50_cifar100.py --epochs 200

# 退出虚拟环境
deactivate

三、验证通信是否走IB的方法

  • 查看任务输出日志(I_MPI_DEBUG=5的输出),搜索fabric或provider关键词,确认显示psm2和ib0
  • 在节点上执行ibstat或ip link,查看ib0接口的流量统计,确认任务运行期间有数据传输

内容的提问来源于stack exchange,提问作者Jonathan Ato Markin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:29:56