in dualpipe/comm.py [0:0]
def append_irecv(ops: List[dist.P2POp], src: int, group: dist.ProcessGroup) -> List[torch.Tensor]:
tensors = build_from_tensor_shapes()
src = dist.distributed_c10d.get_global_rank(group, src)
for tensor in tensors:
if tensor is not None:
ops.append(dist.P2POp(dist.irecv, tensor, src))
return tensors