class_docstr: Stores the context information of the executor, i.e.,
  if using spark, name of the application, current spark executors,
  if using horovod: current rank etc.
class_docstr_tok: ["Stores","the","context","information","of","the","executor",",","i.e.",",","if","using","spark",",","name","of","the","application",",","current","spark","executors",",","if","using","horovod",":","current","rank","etc","."]
code: def _populate_gpu_ids(self) -> List:
      # Populate available GPU IDs from Torch library. Then, select subset of GPUs
      # from available GPUs based on user configuration.
      if not is_gpu_available():
          return []
      gpus = self._populate_gpu_from_config()
      if len(gpus) == 0:
          gpus = self._populate_gpu_from_env()
      return gpus
  
file_path: evadb/evadb/executor/execution_context.py
imports: import os
  import random
  from typing import List
  from evadb.constants import NO_GPU
  from evadb.utils.generic_utils import get_gpu_count, is_gpu_available
label_desc: Use image node_id 5 for calling the Context obj's underlying member method code with example usage: obj._populate_gpu_ids() and returns: gpus, list