code: def meta_to_cpu_placement(module: torch.nn.Module) -> None:
      if hasattr(module, "_dmp_wrapped_module"):
          # for placement update of dmp module, we need to fetch .module (read access) and write
          # to .dmp_wrapped_module (write access)
          assert type(module) == DistributedModelParallel
          _meta_to_cpu_placement(
              module.module, module, "_dmp_wrapped_module"
          )
      else:
          # shard module case
          _meta_to_cpu_placement(module, module)
  
file_path: torchrec/torchrec/quant/utils.py
imports: from typing import Optional, Union
  import torch
  from torch import nn
  from torchrec.distributed.model_parallel import DistributedModelParallel
  from torchrec.distributed.quant_embeddingbag import ShardedQuantEmbeddingBagCollection
  from torchrec.quant.embedding_modules import EmbeddingBagCollection, EmbeddingCollection
label_desc: Use image node_id 3 for calling a global function with example usage: meta_to_cpu_placement(module) without return types