class_docstr: Accelerator for Metal Apple Silicon GPU devices.
  
  .. warning::  Use of this accelerator beyond import and instantiation is experimental.
class_docstr_tok: ["Accelerator","for","Metal","Apple","Silicon","GPU","devices",".","..","warning",":",":","Use","of","this","accelerator","beyond","import","and","instantiation","is","experimental","."]
docstr: Gets parallel devices for the Accelerator.
docstr_tok: ["Gets","parallel","devices","for","the","Accelerator","."]
code: def get_parallel_devices(
      devices: Union[int, str, List[int]]
  ) -> List[torch.device]:
      """Gets parallel devices for the Accelerator."""
      parsed_devices = MPSAccelerator.parse_devices(devices)
      assert parsed_devices is not None
  
      return [
          torch.device("mps", i) for i in range(len(parsed_devices))
      ]
  
imports: from typing import Any, Dict, List, Optional, Union
  import torch
  from typing_extensions import override
  from lightning.fabric.accelerators import _AcceleratorRegistry
  from lightning.fabric.accelerators.mps import MPSAccelerator
  from lightning.fabric.utilities.device_parser import _parse_gpu_ids
  from lightning.fabric.utilities.types import _DEVICE
  from lightning.pytorch.accelerators.accelerator import Accelerator
  from lightning.pytorch.accelerators.cpu import _PSUTIL_AVAILABLE
  from lightning.pytorch.utilities.exceptions import MisconfigurationException
label_desc: Use image node_id 5 for calling the MPSAccelerator obj's underlying member method code with example usage: obj.get_parallel_devices(devices) and returns: unknown