code: def _create_model(compute_cycles, has_params: bool):
      # Use `limit_all_gathers=False` since the timing being tested relies on the
      # CPU running ahead of the GPU
      model = FSDP(
          nn.Sequential(
              FSDP(
                  Layer(compute_cycles, has_params),
                  limit_all_gathers=False,
              ),
              FSDP(
                  Layer(compute_cycles, has_params),
                  limit_all_gathers=False,
              ),
              FSDP(
                  Layer(compute_cycles, has_params),
                  limit_all_gathers=False,
              ),
              FSDP(
                  Layer(compute_cycles, has_params),
                  limit_all_gathers=False,
              ),
          ),
          limit_all_gathers=False,
      ).cuda()
      return model
  
imports: import sys
  import time
  from statistics import mean
  from unittest.mock import patch
  import torch
  import torch.nn
  from torch import distributed
  from torch.cuda import Event
  from torch.distributed.fsdp import FullyShardedDataParallel
  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 get_cycles_per_ms, run_tests, TEST_WITH_DEV_DBG_ASAN
label_desc: Use image node_id 1 for calling a global function with example usage: _create_model(compute_cycles, has_params) and returns: model