code: def _do_push_pull_group_sync(
      tensor, output, average, name, version=0, priority=0
  ):
      c_lib.byteps_torch_declare_tensor(
          name.encode() if name is not None else _NULL
      )
      function = _check_function(
          _push_pull_group_function_factory, tensor
      )
      handle, curr_count = getattr(c_lib, function)(
          tensor,
          output,
          average,
          name.encode() if name is not None else _NULL,
          version,
          priority,
      )
      _handle_map[handle] = (tensor, output)
      return handle, curr_count
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from distutils.version import LooseVersion
  import torch
  from byteps.torch import c_lib
  from byteps.common import BytePSBasics
  from byteps.torch.compression import Compression
label_desc: Use image node_id 5 for calling a global function with example usage: _do_push_pull_group_sync(tensor, output, average, name, version, priority) and returns: handle,  curr_count