class_docstr: Wrapper class for the basic BlueFog API.
class_docstr_tok: ["Wrapper","class","for","the","basic","BlueFog","API","."]
docstr: Returns True if the cluster is homogeneous.
  
  Returns:
    A boolean value indicating whether every node in the cluster has same number of ranks
    and if it is true it also indicates the ranks are continuous in machines.
docstr_tok: ["Returns","True","if","the","cluster","is","homogeneous",".","Returns",":","A","boolean","value","indicating","whether","every","node","in","the","cluster","has","same","number","of","ranks","and","if","it","is","true","it","also","indicates","the","ranks","are","continuous","in","machines","."]
code: def is_homogeneous(self) -> bool:
      """Returns True if the cluster is homogeneous.
  
      Returns:
        A boolean value indicating whether every node in the cluster has same number of ranks
        and if it is true it also indicates the ranks are continuous in machines.
      """
      is_homogeneous = self._MPI_LIB_CTYPES.bluefog_is_homogeneous()
      if is_homogeneous == -1:
          raise ValueError(
              "BlueFog has not been initialized; use bf.init()."
          )
      return bool(is_homogeneous)
  
imports: from typing import List, Callable, Optional
  import atexit
  import contextlib
  import ctypes
  import logging
  import networkx
  import bluefog.common.util
  import bluefog.common.topology_util
label_desc: Use image node_id 22 for calling the BlueFogBasics obj's underlying member method code with example usage: obj.is_homogeneous() and returns: bool