code: def _test_sharding(
      self,
      sharders: List[TestEmbeddingCollectionSharder],
      backend: str = "gloo",
      world_size: int = 2,
      local_size: Optional[int] = None,
      constraints: Optional[Dict[str, ParameterConstraints]] = None,
      model_class: Type[TestSparseNNBase] = TestSequenceSparseNN,
      qcomms_config: Optional[QCommsConfig] = None,
      apply_optimizer_in_backward_config: Optional[
          Dict[str, Tuple[Type[torch.optim.Optimizer], Dict[str, Any]]]
      ] = None,
      variable_batch_size: bool = False,
  ) -> None:
      self._run_multi_process_test(
          callable=sharding_single_rank_test,
          world_size=world_size,
          local_size=local_size,
          model_class=model_class,
          tables=self.tables,
          embedding_groups=self.embedding_groups,
          sharders=sharders,
          optim=EmbOptimType.EXACT_SGD,
          backend=backend,
          constraints=constraints,
          qcomms_config=qcomms_config,
          apply_optimizer_in_backward_config=apply_optimizer_in_backward_config,
          variable_batch_size=variable_batch_size,
      )
  
imports: import unittest
  from typing import Any, Dict, List, Optional, Tuple, Type
  import hypothesis.strategies
  import torch
  from fbgemm_gpu.split_embedding_configs import EmbOptimType
  from hypothesis import assume, given, settings, Verbosity
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel
  from torchrec.distributed.fbgemm_qcomm_codec import CommType, QCommsConfig
  from torchrec.distributed.planner import ParameterConstraints
  from torchrec.distributed.test_utils.multi_process import MultiProcessTestBase
  from torchrec.distributed.test_utils.test_model import TestSparseNNBase
  from torchrec.distributed.test_utils.test_sharding import sharding_single_rank_test
  from torchrec.distributed.tests.test_sequence_model import TestEmbeddingCollectionSharder, TestSequenceSparseNN
  from torchrec.distributed.types import ShardingType
  from torchrec.modules.embedding_configs import EmbeddingConfig
  from torchrec.test_utils import seed_and_log, skip_if_asan_class
label_desc: Use image node_id 8 for calling the SequenceModelParallelTest obj's underlying member method code with example usage: obj._test_sharding(sharders, backend, world_size, local_size, constraints, model_class, qcomms_config, apply_optimizer_in_backward_config, variable_batch_size) without return types