code: def compute_kernels(
      self, sharding_type: str, compute_device_type: str
  ) -> List[str]:
      ret = []
      if sharding_type != ShardingType.DATA_PARALLEL.value:
          ret += [
              EmbeddingComputeKernel.FUSED.value,
          ]
          if compute_device_type in {"cuda"}:
              ret += [
                  EmbeddingComputeKernel.FUSED_UVM.value,
                  EmbeddingComputeKernel.FUSED_UVM_CACHING.value,
              ]
      else:
          ret.append(EmbeddingComputeKernel.DENSE.value)
      return ret
  
imports: from typing import Dict, Iterator, List, Optional, Type
  import torch
  from torch import nn
  from torch.nn.parallel import DistributedDataParallel
  from torchrec.distributed.embedding import ShardedEmbeddingCollection
  from torchrec.distributed.embedding_types import BaseEmbeddingSharder, EmbeddingComputeKernel
  from torchrec.distributed.sharding.dp_sharding import DpPooledEmbeddingSharding
  from torchrec.distributed.types import ParameterSharding, ShardingEnv, ShardingType
  from torchrec.distributed.utils import append_prefix
  from torchrec.modules.fused_embedding_modules import convert_optimizer_type_and_kwargs, FusedEmbeddingCollection
  from torchrec.optim.fused import FusedOptimizerModule
label_desc: Use image node_id 5 for calling the FusedEmbeddingCollectionSharder obj's underlying member method code with example usage: obj.compute_kernels(sharding_type, compute_device_type) and returns: ret