class_docstr: Base class for data-parallel sharding.
class_docstr_tok: ["Base","class","for","data-parallel","sharding","."]
code: def embedding_names(self) -> List[str]:
      embedding_names = []
      for grouped_config in self._grouped_embedding_configs:
          embedding_names.extend(grouped_config.embedding_names())
      return embedding_names
  
imports: from typing import Any, cast, Dict, List, Optional, TypeVar
  import torch
  from torchrec.distributed.embedding_lookup import GroupedPooledEmbeddingsLookup
  from torchrec.distributed.embedding_sharding import BaseEmbeddingDist, BaseEmbeddingLookup, BaseSparseFeaturesDist, EmbeddingSharding, EmbeddingShardingContext, EmbeddingShardingInfo, group_tables
  from torchrec.distributed.embedding_types import BaseGroupedFeatureProcessor, EmbeddingComputeKernel, GroupedEmbeddingConfig, ShardedEmbeddingTable
  from torchrec.distributed.types import Awaitable, NoWait, ShardingEnv, ShardMetadata
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor
  from torchrec.streamable import Multistreamable
label_desc: Use image node_id 4 for calling the BaseDpEmbeddingSharding obj's underlying member method code with example usage: obj.embedding_names() and returns: embedding_names