synchronizations (see "wait()").
  Return type:
     bool

set_exception(result)
  Set an exception for this "Future", which will mark this
  "Future" as completed with an error and trigger all attached
  callbacks. Note that when calling wait()/value() on this
  "Future", the exception set here will be raised inline.

  Parameters:
     **result** (*BaseException*) -- the exception for this
     "Future".

  Example::
     >>> fut = torch.futures.Future()
     >>> fut.set_exception(ValueError("foo"))
     >>> fut.wait()
     Traceback (most recent call last):
     ...
     ValueError: foo

set_result(result)
  Set the result for this "Future", which will mark this "Future"
  as completed and trigger all attached callbacks. Note that a
  "Future" cannot be marked completed twice.

  If the result contains tensors that reside on GPUs, this method
  can be called even if the asynchronous kernels that are
