class_docstr: Intracommunicator class with scalable, point-to-point based
  implementations of global reduction operations.
code: def reduce(self, sendobj=None, recvobj=None, op=MPI.SUM, root=0):
      size = self.size
      rank = self.rank
      assert 0 <= root < size
      tag = MPI.COMM_WORLD.Get_attr(MPI.TAG_UB) - 1
  
      recvobj = sendobj
      mask = 1
  
      while mask < size:
          if (mask & rank) != 0:
              target = (rank & ~mask) % size
              self.send(recvobj, dest=target, tag=tag)
          else:
              target = rank | mask
              if target < size:
                  tmp = self.recv(None, source=target, tag=tag)
                  recvobj = op(recvobj, tmp)
          mask <<= 1
  
      if root != 0:
          if rank == 0:
              self.send(recvobj, dest=root, tag=tag)
          elif rank == root:
              recvobj = self.recv(None, source=0, tag=tag)
  
      if rank != root:
          recvobj = None
  
      return recvobj
  
imports: from mpi4py import MPI
label_desc: Use image node_id 2 for calling the Intracomm obj's underlying member method code with example usage: obj.reduce(sendobj, recvobj, op, root) and returns: recvobj