code: def _compare_fsdp(self, fsdp1, fsdp2):
      with FSDP.summon_full_params(fsdp1):
          with FSDP.summon_full_params(fsdp2):
              for p1, p2 in zip(fsdp1.parameters(), fsdp2.parameters()):
                  self.assertTrue(
                      torch.allclose(p1, p2), f"{p1} vs {p2}"
                  )
  
imports: import itertools
  import sys
  from typing import Union
  import torch
  import torch.distributed
  import torch.nn
  from torch.distributed.fsdp import FullyShardedDataParallel, MixedPrecision
  from torch.distributed.fsdp.wrap import always_wrap_policy, enable_wrap, ModuleWrapPolicy, wrap
  from torch.testing._internal.common_distributed import skip_if_lt_x_gpu
  from torch.testing._internal.common_fsdp import FSDPTest
  from torch.testing._internal.common_utils import instantiate_parametrized_tests, parametrize, run_tests, skip_but_pass_in_sandcastle_if, TEST_WITH_DEV_DBG_ASAN
label_desc: Use image node_id 3 for calling the TestFSDPWithMetaDevice obj's underlying member method code with example usage: obj._compare_fsdp(fsdp1, fsdp2) without return types