code: def get_gpu_ids():
      
      if _mode() == LOCAL_MODE:
          raise Exception("ray.get_gpu_ids() currently does not work in PYTHON "
                          "MODE.")
  
      all_resource_ids = global_worker.raylet_client.resource_ids()
      assigned_ids = [
          resource_id for resource_id, _ in all_resource_ids.get("GPU", [])
      ]
      # If the user had already set CUDA_VISIBLE_DEVICES, then respect that (in
      # the sense that only GPU IDs that appear in CUDA_VISIBLE_DEVICES should be
      # returned).
      if global_worker.original_gpu_ids is not None:
          assigned_ids = [
              global_worker.original_gpu_ids[gpu_id] for gpu_id in assigned_ids
          ]
  
      return assigned_ids
docs: Get the IDs of the GPUs that are available to the worker.
  
      If the CUDA_VISIBLE_DEVICES environment variable was set when the worker
      started up, then the IDs returned by this method will be a subset of the
      IDs in CUDA_VISIBLE_DEVICES. If not, the IDs will fall in the range
      [0, NUM_GPUS - 1], where NUM_GPUS is the number of GPUs that the node has.
  
      Returns:
          A list of GPU IDs.