code: def get_available_devices():
      """Get IDs of all available GPUs.
  
      Returns:
          device (torch.device): Main device (GPU 0 or CPU).
          gpu_ids (list): List of IDs of all GPUs that are available.
      """
      _, _, torch = lazy_torch_import_has_dependency()  # noqa: F811
  
      gpu_ids = []
      if torch.cuda.is_available():
          gpu_ids += [
              gpu_id for gpu_id in range(torch.cuda.device_count())
          ]
          device = torch.device(f"cuda:{gpu_ids[0]}")
          torch.cuda.set_device(device)
      else:
          device = torch.device("cpu")
  
      return device, gpu_ids
  
imports: from collections import Counter
  from typing import Dict, Optional, TYPE_CHECKING, Tuple
  import numpy
  import pandas
  from .None import constants
  from .feature_utils import FeatureEngine, FeatureMixin, resolve_feature_engine, XSymbolic, YSymbolic, resolve_X, resolve_y
  from .util import setup_logger
label_desc: Use image node_id 4 for calling a global function with example usage: get_available_devices() and returns: device,  gpu_ids