tcp - 如何指定 OpenMPI 使用的端口范围?

标签 tcp openmpi openfoam

我使用 Open MPI 1.6.5 在 3 个节点上并行运行 OpenFOAM。出于安全原因,我只允许打开几个 TCP 端口。因此,我为 Open MPI 打开了端口 49990-50009,并在 openmpi-mca-params.conf 中设置了如下值:

btl_tcp_port_min_v4=49990    
btl_tcp_port_range_v4=10   
oob_tcp_static_ports=50000-50009 

当我运行 mpirun 时,我收到一条消息:

mca_oob_tcp_init: unable to create IPv4 listen socket: Unable to open a TCP socket for out-of-band communications.

我错过了什么吗?如何设置 MPI 以运行一系列端口?

最佳答案

oob_tcp_static_ports 的值应该是要使用的特定端口的逗号分隔列表,而不是端口范围。要为 tcp OOB 设置端口范围,请将其分配给 oob_tcp_dynamic_ports

请注意,所有这些端口号(也适用于 tcp BTL)会影响监听 套接字,即传入连接。连接发起方使用操作系统将套接字绑定(bind)到的任何端口号。

引用 - the Open MPI user's mailing list .

关于tcp - 如何指定 OpenMPI 使用的端口范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37504124/

相关文章:

delphi - 使用 IdTCPClient 和 IdTCPServer 发送和接收 TMemoryStream

c++ - 如何检测之前连接的 SSL/TCP 套接字上的互联网断开连接?

linux - 如何在 Linux Debian 中使用 Cuda-Aware MPI 安装 Open MPI

docker - 如何在 Docker 窗口中打开 paraView

windows - 在非管理员 Windows 上运行 OpenFOAM native 编译

networking - UDP 和 TCP 有什么区别?

tcp - 使用 OTP 原理的非阻塞 TCP 服务器

c - 测量 OpenMPI 中进程之间的数据传输

mpi - openmpi mpirun v1.8 中 --map-by 选项的语法