class_docstr: Shards embedding bags column-wise, i.e.. a given embedding table is partitioned
  along its columns and placed on specified ranks.
class_docstr_tok: ["Shards","embedding","bags","column-wise",",","i.e","..","a","given","embedding","table","is","partitioned","along","its","columns","and","placed","on","specified","ranks","."]
code: def create_lookup(
      self,
      device: Optional[torch.device] = None,
      fused_params: Optional[Dict[str, Any]] = None,
      feature_processor: Optional[BaseGroupedFeatureProcessor] = None,
  ) -> BaseEmbeddingLookup:
      return GroupedPooledEmbeddingsLookup(
          grouped_configs=self._grouped_embedding_configs,
          pg=self._pg,
          device=device if device is not None else self._device,
          feature_processor=feature_processor,
      )
  
imports: from typing import Any, Callable, Dict, List, Optional, Set, Tuple, TypeVar
  import torch
  import torch.distributed
  from fbgemm_gpu.permute_pooled_embedding_modules_split import PermutePooledEmbeddingsSplit
  from torchrec.distributed.dist_data import EmbeddingsAllToOne
  from torchrec.distributed.embedding_lookup import GroupedPooledEmbeddingsLookup, InferGroupedPooledEmbeddingsLookup
  from torchrec.distributed.embedding_sharding import BaseEmbeddingDist, BaseEmbeddingLookup, BaseSparseFeaturesDist, EmbeddingShardingContext, EmbeddingShardingInfo
  from torchrec.distributed.embedding_types import BaseGroupedFeatureProcessor, EmbeddingComputeKernel, KJTList, ShardedEmbeddingTable
  from torchrec.distributed.sharding.tw_sharding import BaseTwEmbeddingSharding, InferTwSparseFeaturesDist, TwPooledEmbeddingDist, TwSparseFeaturesDist
  from torchrec.distributed.types import NullShardingContext, QuantizedCommCodecs, ShardedTensorMetadata, ShardingEnv, ShardMetadata
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor
  from torchrec.streamable import Multistreamable
label_desc: Use image node_id 2 for calling the CwPooledEmbeddingSharding obj's underlying member method code with example usage: obj.create_lookup(device, fused_params, feature_processor) and returns: GroupedPooledEmbeddingsLookup