docstr: Blocks gradient synchronization inside the :class:`~torch.nn.parallel.distributed.DistributedDataParallel`
  wrapper.
docstr_tok: ["Blocks","gradient","synchronization","inside","the",":","class",":","`","~torch.nn.parallel.distributed.DistributedDataParallel","`","wrapper","."]
code: def no_backward_sync(self, module: Module) -> ContextManager:
      """Blocks gradient synchronization inside the :class:`~torch.nn.parallel.distributed.DistributedDataParallel`
      wrapper."""
      if not isinstance(module, DistributedDataParallel):
          raise TypeError(
              "Blocking backward sync is only possible if the module passed to"
              f" `{self.__class__.__name__}.no_backward_sync` is wrapped in `DistributedDataParallel`."
              f" Got: {module.__class__.__name__}."
          )
      return module.no_sync()
  
imports: from contextlib import nullcontext
  from datetime import timedelta
  from typing import Any, ContextManager, Dict, List, Literal, Optional, Union
  import torch
  import torch.distributed
  from lightning_utilities.core.rank_zero import rank_zero_only
  from torch import Tensor
  from torch.nn import Module
  from torch.nn.parallel.distributed import DistributedDataParallel
  from typing_extensions import override
  from lightning.fabric.accelerators.accelerator import Accelerator
  from lightning.fabric.plugins.collectives.torch_collective import default_pg_timeout
  from lightning.fabric.plugins.environments.cluster_environment import ClusterEnvironment
  from lightning.fabric.plugins.io.checkpoint_io import CheckpointIO
  from lightning.fabric.plugins.precision import Precision
  from lightning.fabric.strategies.launchers.multiprocessing import _MultiProcessingLauncher
  from lightning.fabric.strategies.launchers.subprocess_script import _SubprocessScriptLauncher
  from lightning.fabric.strategies.parallel import ParallelStrategy
  from lightning.fabric.strategies.registry import _StrategyRegistry
  from lightning.fabric.strategies.strategy import TBroadcast, _BackwardSyncControl
  from lightning.fabric.utilities.distributed import ReduceOp, _distributed_is_initialized, _get_default_process_group_backend_for_device, _init_dist_connection, _sync_ddp_if_available
  from lightning.fabric.utilities.distributed import group
  from lightning.fabric.utilities.rank_zero import rank_zero_only
label_desc: Use image node_id 1 for calling the _DDPBackwardSyncControl obj's underlying member method code with example usage: obj.no_backward_sync(module) and returns: module