class_docstr: Shards sequence (unpooled) row-wise, i.e.. a given embedding table is evenly
  distributed by rows and table slices are placed on all ranks.
class_docstr_tok: ["Shards","sequence","(","unpooled",")","row-wise",",","i.e","..","a","given","embedding","table","is","evenly","distributed","by","rows","and","table","slices","are","placed","on","all","ranks","."]
code: def create_input_dist(
      self,
      device: Optional[torch.device] = None,
  ) -> BaseSparseFeaturesDist[KeyedJaggedTensor]:
      num_features = self._get_num_features()
      feature_hash_sizes = self._get_feature_hash_sizes()
      return RwSparseFeaturesDist(
          # pyre-fixme[6]: For 1st param expected `ProcessGroup` but got
          #  `Optional[ProcessGroup]`.
          pg=self._pg,
          num_features=num_features,
          feature_hash_sizes=feature_hash_sizes,
          device=device if device is not None else self._device,
          is_sequence=True,
          has_feature_processor=self._has_feature_processor,
          need_pos=False,
      )
  
imports: from typing import Any, Dict, List, Optional
  import torch
  import torch.distributed
  from torchrec.distributed.dist_data import SeqEmbeddingsAllToOne, SequenceEmbeddingsAllToAll
  from torchrec.distributed.embedding_lookup import GroupedEmbeddingsLookup, InferGroupedEmbeddingsLookup
  from torchrec.distributed.embedding_sharding import BaseEmbeddingDist, BaseEmbeddingLookup, BaseSparseFeaturesDist
  from torchrec.distributed.embedding_types import BaseGroupedFeatureProcessor, KJTList
  from torchrec.distributed.sharding.rw_sharding import BaseRwEmbeddingSharding, InferRwSparseFeaturesDist, RwSparseFeaturesDist
  from torchrec.distributed.sharding.sequence_sharding import InferSequenceShardingContext, SequenceShardingContext
  from torchrec.distributed.types import Awaitable, CommOp, QuantizedCommCodecs
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor
label_desc: Use image node_id 1 for calling the RwSequenceEmbeddingSharding obj's underlying member method code with example usage: obj.create_input_dist(device) and returns: RwSparseFeaturesDist