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

Ubuntu下如何创建使用host文件解决MPI运行slot不足报错问题

Ubuntu下通过host文件解决MPI slot不足问题

1 创建host配置文件

  • 在你运行MPI程序的工作目录下,新建名为hostfile的纯文本文件,无需管理员权限
  • 在文件内写入如下内容,可根据自身需求调整数值:
localhost slots=8 max_slots=64
  • 参数说明:
    • slots:MPI默认识别的本机可用slot数,这里设为8匹配你机器的逻辑处理器总数
    • max_slots:允许超配的最大slot上限,需要跑多少进程就设为大于等于对应数值即可,示例的64支持最多同时跑64个MPI进程

2 调用host文件运行MPI程序

运行不超过逻辑核数的进程(比如n=6)

直接执行如下命令即可,无需额外加参数:
mpiexec --hostfile ./hostfile -n 6 ./myprogram

运行超过逻辑核数的进程(比如n=16、n=32)

搭配--oversubscribe参数开启超配:
mpiexec --hostfile ./hostfile --oversubscribe -n 16 ./myprogram

3 之前参数失效的原因

  • Open MPI 4.0及以上版本中,默认限制单节点最大slot数等于物理核数,单独使用--oversubscribe参数会被默认规则拦截,必须搭配自定义host文件修改max_slots才能生效
  • --use-hwthread-cpus参数仅能让MPI识别逻辑核作为可用slot,最多只能覆盖到你机器的8个逻辑核,超过8的场景必须使用超配+自定义host文件的方案

4 注意事项

超配运行超过逻辑核数的MPI进程时,进程会通过CPU分时调度执行,会出现一定的性能损耗,仅适合测试场景使用,生产环境建议匹配物理核心数部署。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:15:07