class_docstr: Strategy for training multiple TPU devices using the :func:`torch_xla.distributed.xla_multiprocessing.spawn`
  method.
class_docstr_tok: ["Strategy","for","training","multiple","TPU","devices","using","the",":","func",":","`","torch_xla.distributed.xla_multiprocessing.spawn","`","method","."]
code: def setup_distributed(self) -> None:
      assert self.parallel_devices is not None
      if len(self.parallel_devices) == 1:
          # spawning only 1 device with PjRT is not supported:
          # https://github.com/Lightning-AI/lightning/pull/17408#discussion_r1170671732
          raise NotImplementedError(
              "The `XLAStrategy` does not support running on a single device with the PjRT runtime."
              " Try using all devices or the `SingleDeviceXLAStrategy` strategy"
          )
      rank_zero_only.rank = self.global_rank
  
imports: import io
  import os
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Union
  import torch
  from torch import Tensor
  from torch.nn import Module
  from typing_extensions import override
  import lightning.pytorch
  from lightning.fabric.accelerators.xla import _XLA_AVAILABLE, _XLA_GREATER_EQUAL_2_1
  from lightning.fabric.plugins import XLACheckpointIO
  from lightning.fabric.plugins.environments import XLAEnvironment
  from lightning.fabric.strategies import _StrategyRegistry
  from lightning.fabric.utilities.optimizer import _optimizers_to_device
  from lightning.fabric.utilities.types import _PATH, ReduceOp
  from lightning.pytorch.plugins import XLAPrecision
  from lightning.pytorch.plugins.io.wrapper import _WrappingCheckpointIO
  from lightning.pytorch.strategies.ddp import DDPStrategy
  from lightning.pytorch.strategies.launchers.xla import _XLALauncher
  from lightning.pytorch.strategies.strategy import TBroadcast
  from lightning.pytorch.trainer.states import TrainerFn
  from lightning.pytorch.utilities import find_shared_parameters, set_shared_parameters
  from lightning.pytorch.utilities.rank_zero import rank_zero_only
label_desc: Use image node_id 22 for calling the XLAStrategy obj's underlying member method code with example usage: obj.setup_distributed() without return types