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

使用Microsoft HPC Pack 2008 SDK运行MPI程序遇1722连接错误求助

解决HPC Pack 2008 MPI程序无法连接smpd manager的问题

你遇到的是HPC Pack 2008 MPI环境中smpd服务通信故障,错误码1722对应RPC服务器不可用,这是smpd(Microsoft消息传递守护进程)的典型问题。下面是一步步的排查和解决方法:

1. 检查smpd服务状态

HPC Pack的MPI依赖smpd管理进程调度,先确认服务是否正常运行:

  • 右键开始菜单,打开Windows终端(管理员)或命令提示符(管理员)
  • 执行命令:sc query smpd
    • 如果输出显示STATE: 1 STOPPED,先启动服务:sc start smpd
    • 为避免重启后服务停止,设置自动启动:sc config smpd start= auto(注意start=后面必须加空格)

2. 配置smpd用户权限

smpd需要验证用户权限才能允许MPI程序连接,把当前用户添加到授权列表:

  • 在管理员终端执行:smpset -user <你的本地用户名> -pass <你的用户密码>
    • 若为域账户,格式改为:smpset -user DOMAIN\你的用户名 -pass <你的密码>

3. 放行smpd的防火墙端口

错误日志提到的56041是smpd默认通信端口,需确保防火墙不拦截:

  • 可临时关闭Windows防火墙测试(若能正常运行,说明是防火墙问题)
  • 或添加永久规则:打开Windows Defender防火墙 → 高级设置 → 入站规则 → 新建规则,允许C:\Program Files\Microsoft HPC Pack 2008\Bin\smpd.exe的所有连接

4. 验证MPI环境与编译配置

  • 确认HPC Pack 2008的Bin目录已加入系统PATH(如C:\Program Files\Microsoft HPC Pack 2008\Bin),避免调用其他版本的mpiexec/smpd
  • 检查编译命令是否正确链接HPC Pack的MPI库,以x64环境为例:
    cl /EHsc ReadText.cpp /I"C:\Program Files\Microsoft HPC Pack 2008\Include" /link /LIBPATH:"C:\Program Files\Microsoft HPC Pack 2008\Lib\x64" msmpi.lib
    

5. 手动启动smpd调试

若自动启动的smpd有异常,尝试手动启动并指定端口:

  • 管理员终端执行:smpd -d -p 56041(-d为调试模式,会输出详细日志)
  • 保持该窗口打开,再开一个管理员终端运行你的MPI命令:mpiexec -n 1 ReadText.exe

如果以上步骤都未解决,可查看debug输出中的RPC相关日志,进一步定位是端口绑定失败还是用户权限验证问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:09:04