Skip to content

Commit 7ed7ac7

Browse files
authoredJul 18, 2022
[parameter_server] fix deadlock in multiprocessing by using spawn (pytorch#1025)
1 parent 91ccd7a commit 7ed7ac7

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed
 

‎distributed/rpc/parameter_server/rpc_parameter_server.py

+5
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,11 @@ def run_worker(rank, world_size, num_gpus, train_loader, test_loader):
266266
os.environ['MASTER_PORT'] = args.master_port
267267
processes = []
268268
world_size = args.world_size
269+
270+
# Note that Linux uses "fork" by default, which may cause deadlock.
271+
# Besides, cuda doesn't support "fork" and Windows only supports "spawn"
272+
mp.set_start_method("spawn")
273+
269274
if args.rank == 0:
270275
p = mp.Process(target=run_parameter_server, args=(0, world_size))
271276
p.start()

0 commit comments

Comments
 (0)
Please sign in to comment.