diff --git a/python/paddle/distributed/fleet/base/private_helper_function.py b/python/paddle/distributed/fleet/base/private_helper_function.py index c7ddd33d5d0187ba92eb5313f616e4e3396bd37c..8e2871272a9911862357e38581a938fad362807d 100644 --- a/python/paddle/distributed/fleet/base/private_helper_function.py +++ b/python/paddle/distributed/fleet/base/private_helper_function.py @@ -43,6 +43,10 @@ def wait_server_ready(endpoints): with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: sock.settimeout(2) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + if hasattr(socket, 'SO_REUSEPORT'): + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + result = sock.connect_ex((ip_port[0], int(ip_port[1]))) if result != 0: all_ok = False diff --git a/python/paddle/fluid/tests/unittests/npu/test_collective_base_npu.py b/python/paddle/fluid/tests/unittests/npu/test_collective_base_npu.py index 6372e1ab85f6b41230518c7c9b483ec1e259ff56..774423a8be1b19592e3afb9fdb922d22d3f6e63d 100644 --- a/python/paddle/fluid/tests/unittests/npu/test_collective_base_npu.py +++ b/python/paddle/fluid/tests/unittests/npu/test_collective_base_npu.py @@ -46,6 +46,11 @@ class TestCollectiveRunnerBase(object): socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: sock.settimeout(2) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + if hasattr(socket, 'SO_REUSEPORT'): + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, + 1) + result = sock.connect_ex((ip_port[0], int(ip_port[1]))) if result != 0: all_ok = False diff --git a/python/paddle/fluid/tests/unittests/npu/test_sync_batch_norm_base_npu.py b/python/paddle/fluid/tests/unittests/npu/test_sync_batch_norm_base_npu.py index 9df216d973787c6fd14c2dbbafd4e65d64bfb040..dfd8680c4424e577f37f5bc0892ba9386e434141 100644 --- a/python/paddle/fluid/tests/unittests/npu/test_sync_batch_norm_base_npu.py +++ b/python/paddle/fluid/tests/unittests/npu/test_sync_batch_norm_base_npu.py @@ -65,6 +65,11 @@ class TestSyncBatchNormRunnerBase(object): socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: sock.settimeout(2) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + if hasattr(socket, 'SO_REUSEPORT'): + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, + 1) + result = sock.connect_ex((ip_port[0], int(ip_port[1]))) if result != 0: all_ok = False diff --git a/python/paddle/fluid/tests/unittests/test_collective_base.py b/python/paddle/fluid/tests/unittests/test_collective_base.py index 31b8bafd16d1983797bc18c85b046216b8ce85eb..1b55395ede5f6eb35d25279e908e845170da680b 100644 --- a/python/paddle/fluid/tests/unittests/test_collective_base.py +++ b/python/paddle/fluid/tests/unittests/test_collective_base.py @@ -44,6 +44,11 @@ class TestCollectiveRunnerBase(object): socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: sock.settimeout(2) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + if hasattr(socket, 'SO_REUSEPORT'): + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, + 1) + result = sock.connect_ex((ip_port[0], int(ip_port[1]))) if result != 0: all_ok = False diff --git a/python/paddle/fluid/transpiler/details/checkport.py b/python/paddle/fluid/transpiler/details/checkport.py index 89dd4dd50b0299de986b84f46e889d554030f180..1341bdaedf99e3aa40d0159634a4246d0ee4e2f0 100644 --- a/python/paddle/fluid/transpiler/details/checkport.py +++ b/python/paddle/fluid/transpiler/details/checkport.py @@ -42,6 +42,10 @@ def wait_server_ready(endpoints): with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock: sock.settimeout(2) + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + if hasattr(socket, 'SO_REUSEPORT'): + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + result = sock.connect_ex((ip_port[0], int(ip_port[1]))) if result != 0: all_ok = False