class_docstr: Abstract class defining the functions that a Communicator should implement.
class_docstr_tok: ["Abstract","class","defining","the","functions","that","a","Communicator","should","implement","."]
docstr: Reduces the tensor data across all parties.
docstr_tok: ["Reduces","the","tensor","data","across","all","parties","."]
code: def reduce(self, tensor, op=None, async_op=False):
      """Reduces the tensor data across all parties."""
      raise NotImplementedError("tensor is not implemented")
  
imports: import sys
  import timeit
  from crypten.config import cfg
label_desc: Use image node_id 8 for calling the Communicator obj's underlying member method code with example usage: obj.reduce(tensor, op, async_op) without return types