def METHOD_NAME(devices: Union[int, List[int]]) -> List[torch.device]:
    """Gets parallel devices for the Accelerator."""
    devices = _parse_tpu_devices(devices)
    # In XLA XRT index 0 maps to CPU, in fact, a `xla_device()` with no arguments has index 1
    # since the user passes a 0-based index, we need to adjust the indices
    device_offset = 0 if _using_pjrt() else 1
    if isinstance(devices, int):
        return [torch.device("xla", i) for i in range(device_offset, devices + device_offset)]
    # list of devices is not supported, just a specific index, fine to access [0]
    return [torch.device("xla", devices[0] + device_offset)]
    # we cannot create `xla_device` here because processes have not been spawned yet (this is called in the
    # accelerator connector init). However, there doesn't seem to be a problem with instantiating `torch.device`.
    # it will be replaced with `xla_device` (also a torch.device`, but with extra logic) in the strategy