我使用 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)到的任何端口号。
关于tcp - 如何指定 OpenMPI 使用的端口范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37504124/