latest (dev)
Copy
Latest development documentation · Updated 2026-10-08
Join
- class tensorplay.distributed.algorithms.Join(joinables: list[Joinable], enable: bool = True, throw_on_early_termination: bool = False, **kwargs)[source]
This class defines the generic join context manager, which allows custom hooks to be called after a process joins.
These hooks should shadow the collective communications of non-joined processes to prevent hanging and erroring and to ensure algorithmic correctness. Refer to
JoinHookfor details about the hook definition.Warning
The context manager requires each participating
Joinableto call the methodnotify_join_context()before its own per- iteration collective communications to ensure correctness.- Parameters:
joinables (List[Joinable]) – a list of the participating
Joinables; their hooks are iterated over in the given order.enable (bool) – a flag enabling uneven input detection; setting to
Falsedisables the context manager’s functionality and should only be set when the user knows the inputs will not be uneven (default:True).throw_on_early_termination (bool) – a flag controlling whether to throw an exception upon detecting uneven inputs (default:
False).
- static notify_join_context(joinable: Joinable)[source]
Notifies the join context manager that the calling process has not yet joined.
Then, if
throw_on_early_termination=True, checks if uneven inputs have been detected (i.e. if one process has already joined) and throws an exception if so.This method should be called from a
Joinableobject before its per-iteration collective communications. For example, this should be called at the beginning of the forward pass inDistributedDataParallel.Only the first
Joinableobject passed into the context manager performs the collective communications in this method, and for the others, this method is vacuous.
Help improve this page
Found an error, an unclear step, or a missing example?

