code: def get_tensor_device_list(tensors):
      """Returns the gpu devices of the list of input tensors.
  
      Args:
          tensors: a list of tensors, each locates on a GPU.
  
      Returns:
          list: the list of GPU devices.
  
      """
      if not isinstance(tensors, list):
          raise RuntimeError(
              "Expect a list of tensors each locates on a GPU device. "
              "Got: '{}'.".format(type(tensors))
          )
      devices = [get_tensor_device(t) for t in tensors]
      return devices
  
file_path: ray/python/ray/util/collective/collective_group/nccl_util.py
imports: import numpy
  from ray.util.collective.types import ReduceOp, torch_available
label_desc: Use image node_id 15 for calling a global function with example usage: get_tensor_device_list(tensors) and returns: devices