本文简要介绍python语言中 torch.distributed.monitored_barrier
的用法。
用法:
torch.distributed.monitored_barrier(group=None, timeout=None, wait_all_ranks=False)
group(ProcessGroup,可选的) -要处理的流程组。如果
None
,将使用默认进程组。timeout(datetime.timedelta,可选的) -monitored_barrier 超时。如果
None
,将使用默认进程组超时。wait_all_ranks(bool,可选的) -是否收集所有失败的等级。默认情况下,这是
False
,rank 0 上的monitored_barrier
将抛出它遇到的第一个失败的 rank,以便快速失败。通过设置wait_all_ranks=True
monitored_barrier
将收集所有失败的排名并抛出包含所有失败排名信息的错误。
None
。同步所有类似于
torch.distributed.barrier
的进程,但需要一个可配置的超时,并且能够报告在该超时内未通过此屏障的排名。具体来说,对于非零等级,将阻塞,直到从等级 0 处理发送/接收。等级 0 将阻塞,直到处理来自其他等级的所有发送/接收,并且将报告未能及时响应的等级失败。请注意,如果一个等级未达到monitored_barrier(例如由于挂起),则所有其他等级都将在monitored_barrier 中失败。该集体将阻塞组中的所有进程/等级,直到整个组成功退出该函数,使其对调试和同步有用。但是,它可能会对性能产生影响,并且只能用于调试或需要在host-side 上完全同步点的场景。出于调试目的,可以在应用程序的集体调用之前插入此屏障,以检查是否有任何等级不同步。
注意
请注意,此集合仅受 GLOO 后端支持。
>>> # Note: Process group initialization omitted on each rank. >>> import torch.distributed as dist >>> if dist.get_rank() != 1: >>> dist.monitored_barrier() # Raises exception indicating that >>> # rank 1 did not call into monitored_barrier. >>> # Example with wait_all_ranks=True >>> if dist.get_rank() == 0: >>> dist.monitored_barrier(wait_all_ranks=True) # Raises exception >>> # indicating that ranks 1, 2, ... world_size - 1 did not call into >>> # monitored_barrier.
例子:
参数:
返回:
相关用法
- Python PyTorch mode用法及代码示例
- Python PyTorch movedim用法及代码示例
- Python PyTorch movielens_25m用法及代码示例
- Python PyTorch movielens_20m用法及代码示例
- Python PyTorch moveaxis用法及代码示例
- Python PyTorch mean用法及代码示例
- Python PyTorch multinomial用法及代码示例
- Python PyTorch meshgrid用法及代码示例
- Python PyTorch matrix_rank用法及代码示例
- Python PyTorch mm用法及代码示例
- Python PyTorch mv用法及代码示例
- Python PyTorch min用法及代码示例
- Python PyTorch max用法及代码示例
- Python PyTorch msort用法及代码示例
- Python PyTorch matrix_exp用法及代码示例
- Python PyTorch matmul用法及代码示例
- Python PyTorch matrix_power用法及代码示例
- Python PyTorch maximum用法及代码示例
- Python PyTorch masked_select用法及代码示例
- Python PyTorch maskrcnn_resnet50_fpn用法及代码示例
- Python PyTorch minimum用法及代码示例
- Python PyTorch multi_dot用法及代码示例
- Python PyTorch mul用法及代码示例
- Python PyTorch matrix_norm用法及代码示例
- Python PyTorch multigammaln用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.distributed.monitored_barrier。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。