code: def _create_new_dist_group(self):
      world_size = dist.get_world_size()
      group1 = [i for i in range(world_size) if i % 2 == 0]
      group2 = [i for i in range(world_size) if i % 2 != 0]
  
      # create new fsdp group for resharding
      fsdp_0 = dist.new_group(ranks=group1)
      fsdp_1 = dist.new_group(ranks=group2)
      if dist.get_rank() % 2 == 0:
          my_fsdp = fsdp_0
      else:
          my_fsdp = fsdp_1
  
      return my_fsdp
  
file_path: pytorch/test/distributed/checkpoint/test_fsdp_model_state.py
imports: import torch
  import torch.distributed
  import torch.distributed.checkpoint
  from torch.distributed.checkpoint.default_planner import DefaultLoadPlanner, DefaultSavePlanner
  from torch.distributed.fsdp import FullyShardedDataParallel
  from torch.distributed.fsdp.fully_sharded_data_parallel import StateDictType
  from torch.testing._internal.common_distributed import skip_if_lt_x_gpu
  from torch.testing._internal.common_utils import run_tests
  from torch.testing._internal.distributed._tensor.common_dtensor import DTensorTestBase, with_comms
  from torch.testing._internal.distributed.checkpoint_utils import with_temp_dir
label_desc: Use image node_id 4 for calling the FsdpModelStateCheckpoint obj's underlying member method code with example usage: obj._create_new_dist_group() and returns: my_fsdp