class_docstr: Accelerator for NVIDIA CUDA devices.
class_docstr_tok: ["Accelerator","for","NVIDIA","CUDA","devices","."]
docstr: Raises:
      MisconfigurationException:
          If the selected device is not GPU.
docstr_tok: ["Raises",":","MisconfigurationException",":","If","the","selected","device","is","not","GPU","."]
code: def setup_device(self, device: torch.device) -> None:
      """
      Raises:
          MisconfigurationException:
              If the selected device is not GPU.
      """
      if device.type != "cuda":
          raise MisconfigurationException(
              f"Device should be GPU, got {device} instead"
          )
      _check_cuda_matmul_precision(device)
      torch.cuda.set_device(device)
  
imports: import logging
  import os
  import shutil
  import subprocess
  from typing import Any, Dict, List, Optional, Union
  import torch
  from typing_extensions import override
  import lightning.pytorch
  from lightning.fabric.accelerators import _AcceleratorRegistry
  from lightning.fabric.accelerators.cuda import _check_cuda_matmul_precision, _clear_cuda_memory, num_cuda_devices
  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.utilities.exceptions import MisconfigurationException
label_desc: Use image node_id 1 for calling the CUDAAccelerator obj's underlying member method code with example usage: obj.setup_device(device) without return types