class_docstr: Sharding spec for single dimension of the sharded tensor describe the sharding dimension of
  logical device mesh and give a method to compute the difference between them.
  This class is used internally in ShardingSpec.
  
  Argument:
      shard_list(List[int]): if shard_list is None, the dim spec will be 'R' type.
          Otherwise, the element in shard_list means the data will be sharded in that dimension.
class_docstr_tok: ["Sharding","spec","for","single","dimension","of","the","sharded","tensor","describe","the","sharding","dimension","of","logical","device","mesh","and","give","a","method","to","compute","the","difference","between","them",".","This","class","is","used","internally","in","ShardingSpec",".","Argument",":","shard_list","(","List","[","int","]",")",":","if","shard_list","is","None",",","the","dim","spec","will","be","'","R","'","type",".","Otherwise",",","the","element","in","shard_list","means","the","data","will","be","sharded","in","that","dimension","."]
code: def __repr__(self):
      if self.is_replica:
          return "R"
      target = "S"
      for dim in self.shard_list:
          target += str(dim)
      return target
  
file_path: ColossalAI/colossalai/tensor/d_tensor/sharding_spec.py
imports: from copy import deepcopy
  from typing import Dict, List
  from ..utils import merge_same_dim_mesh_list
  from .misc import ShardingOutOfIndexError
label_desc: Use image node_id 3 for calling the DimSpec obj's underlying member method code with example usage: obj.__repr__() and returns: target, str