tensor that has the same shape with the tensors inside grad
        bucket.
  Warning:

    "get_future" API supports NCCL, and partially GLOO and MPI
    backends (no support for peer-to-peer operations like
    send/recv) and will return a "torch.futures.Future".

  Example::
     Below is an example of a noop hook that returns the same
     tensor.

     >>> def noop(state: object, bucket: dist.GradBucket) -> torch.futures.Future[torch.Tensor]:
     >>>     fut = torch.futures.Future()
     >>>     fut.set_result(bucket.buffer())
     >>>     return fut
     >>> ddp.register_comm_hook(state=None, hook=noop)

  Example::
     Below is an example of a Parallel SGD algorithm where
     gradients are encoded before allreduce, and then decoded
     after allreduce.

     >>> def encode_and_decode(state: object, bucket: dist.GradBucket) -> torch.futures.Future[torch.Tensor]:
