class_docstr: Adapter for executing Ray calls for various types(e.g. static and elastic)
  Horovod jobs.
class_docstr_tok: ["Adapter","for","executing","Ray","calls","for","various","types","(","e.g",".","static","and","elastic",")","Horovod","jobs","."]
docstr: Executes the provided function on the rank 0 worker (chief).
  
  Args:
      fn: Target function to be invoked on the chief object.
  
  Returns:
      Deserialized return values from the target function.
docstr_tok: ["Executes","the","provided","function","on","the","rank","0","worker","(","chief",")",".","Args",":","fn",":","Target","function","to","be","invoked","on","the","chief","object",".","Returns",":","Deserialized","return","values","from","the","target","function","."]
code: def execute_single(
      self, fn: Callable[["executable_cls"], Any]
  ) -> List[Any]:
      """Executes the provided function on the rank 0 worker (chief).
  
      Args:
          fn: Target function to be invoked on the chief object.
  
      Returns:
          Deserialized return values from the target function.
      """
      raise NotImplementedError(
          "Method must be implemented in a subclass"
      )
  
file_path: horovod/horovod/ray/adapter.py
imports: from abc import ABC, abstractmethod
  from typing import Dict, Callable, Any, Optional, List
  from dataclasses import dataclass
label_desc: Use image node_id 5 for calling the Adapter obj's underlying member method code with example usage: obj.execute_single(fn) without return types