code: def sync_model(self, model: nn.Module):
      hvd.broadcast_parameters(model.state_dict(), root_rank=0)
  
imports: import contextlib
  import logging
  from typing import Any, Callable, Dict, List, Optional, Tuple, Type, TYPE_CHECKING
  import horovod.torch
  import ray
  import torch
  from horovod.torch.optimizer import _DistributedOptimizer
  from packaging import version
  from ray.train.backend import BackendConfig
  from ray.train.data_parallel_trainer import DataParallelTrainer
  from ray.train.horovod import HorovodTrainer
  from torch import nn
  from torch.optim import Optimizer
  from ludwig.constants import AUTO
  from ludwig.distributed.base import DistributedStrategy
  from ludwig.modules.optimization_modules import create_optimizer
  from ludwig.utils.horovod_utils import gather_all_tensors, is_distributed_available
label_desc: Use image node_id 10 for calling the HorovodStrategy obj's underlying member method code with example usage: obj.sync_model(model) without return types