code: def collect_gpus_info(data):
      """
      If the cuda is available on the system, collect information about
      CUDA_HOME, TORCH_CUDA_ARCH_LIST, GPU names, count
      """
      has_gpu = torch.cuda.is_available()  # true for both CUDA & ROCM
      data.append(("GPU available", has_gpu))
      from torch.utils.cpp_extension import CUDA_HOME
  
      # gpus info and other env settings
      if has_gpu:
          devices = defaultdict(list)
          for k in range(torch.cuda.device_count()):
              devices[torch.cuda.get_device_name(k)].append(str(k))
          for name, devids in devices.items():
              data.append(("GPU " + ",".join(devids), name))
          data.append(("CUDA_HOME", str(CUDA_HOME)))
          cuda_arch_list = os.environ.get("TORCH_CUDA_ARCH_LIST", None)
          if cuda_arch_list:
              data.append(("TORCH_CUDA_ARCH_LIST", cuda_arch_list))
      return data
  
file_path: vissl/vissl/utils/collect_env.py
imports: import os
  import sys
  from collections import defaultdict
  import numpy
  import PIL
  import pkg_resources
  import torch
  import torchvision
  from tabulate import tabulate
label_desc: Use image node_id 3 for calling a global function with example usage: collect_gpus_info(data) and returns: data