context manager that the process has not yet joined if
         "joinable" is the first one passed into the context manager;
         "None" otherwise.
class torch.distributed.algorithms.Joinable
This defines an abstract base class for joinable classes. A
   joinable class (inheriting from "Joinable") should implement
   "join_hook()", which returns a "JoinHook" instance, in addition to
   "join_device()" and "join_process_group()" that return device and
   process group information, respectively.
abstract property join_device: device
  Returns the device from which to perform collective
  communications needed by the join context manager implementation
  itself.

abstract join_hook(**kwargs)
  Returns a "JoinHook" instance for the given "Joinable".

  Parameters:
     **kwargs** (*dict*) -- a "dict" containing any keyword
     arguments to modify the behavior of the join hook at run
     time; all "Joinable" instances sharing the same join context
