code: def test_symints_location(self):
      def gn(x, y):
          return torch.matmul(x, torch.nn.functional.dropout(y, 0.5))
  
      def fn(x, y):
          return torch.utils.checkpoint.checkpoint(
              gn, x, y, use_reentrant=True
          )
  
      backend = "aot_eager"
      cnt = CompileCounterWithBackend(backend)
      opt_fn = torch.compile(fn, backend=cnt)
  
      x = torch.randn(4, 4, requires_grad=True)
      y = torch.randn(4, 4, requires_grad=True)
      args = (x, y)
      expected = fn(*args)
      result = opt_fn(*args)
  
      x = torch.randn(5, 5, requires_grad=True)
      y = torch.randn(5, 5, requires_grad=True)
      args = (x, y)
      expected = fn(*args)
      result = opt_fn(*args)
  
      self.assertEqual(result.shape, expected.shape)
      self.assertEqual(cnt.frame_count, 2)
      self.assertEqual(len(cnt.graphs), 2)
      wrap_node = find_first_node(
          cnt.graphs[0], tag_activation_checkpoint
      )
      self.assertEqual(len(wrap_node.args), 3)
  
imports: import functools
  import unittest
  from importlib import import_module
  import torch
  import torch._dynamo.config
  import torch._dynamo.test_case
  import torch._functorch.config
  import torch.utils.checkpoint
  from functorch.compile import min_cut_rematerialization_partition
  from torch._dynamo.backends.common import aot_autograd
  from torch._dynamo.testing import CompileCounterWithBackend
  from torch._higher_order_ops.wrap import tag_activation_checkpoint
  from torch.testing._internal.common_utils import IS_WINDOWS, skipIfRocm
  from torch.testing._internal.inductor_utils import HAS_CUDA
  from torch.testing._internal.two_tensor import TwoTensor
  from torch.utils.checkpoint import _pt2_selective_checkpoint_context_fn_gen, checkpoint
label_desc: Use image node_id 14 for calling the ActivationCheckpointingViaTagsTests obj's underlying member method code with example usage: obj.test_symints_location() and returns: torch, torch