Skip to content

Commit b560cc8

Browse files
committed
fix: do not error when user deinits torch.distributed on their own
1 parent 3bdde17 commit b560cc8

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

dmlcloud/core/distributed.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,15 +548,18 @@ def init(kind='auto'):
548548
elif kind == 'env':
549549
_init_process_group_env()
550550

551-
atexit.register(deinitialize_torch_distributed)
551+
atexit.register(deinitialize_torch_distributed, fail_silently=True)
552552

553553

554-
def deinitialize_torch_distributed():
554+
def deinitialize_torch_distributed(fail_silently=False):
555555
"""
556556
Deinitializes the torch distributed framework.
557557
At the time of writing, `dist.destroy_process_group()` is not well documented.
558558
Hence, this function.
559559
"""
560+
if not dist.is_initialized() and fail_silently:
561+
return
562+
560563
_WorkerInfo.INIT_METHOD = None
561564
_WorkerInfo.RANK = None
562565
_WorkerInfo.WORLD_SIZE = None

0 commit comments

Comments
 (0)