code: def _test_fused_int_mm_mul_impl(
      self, fn, args, fused_int_mm_mul_expected=True
  ):
      torch._dynamo.reset()
      counters.clear()
      ref = fn(*args)
      test, (code,) = run_and_get_code(
          torch.compile(fn, mode="max-autotune"), *args
      )
      self.assertEqual(
          "fused_int_mm_mul" in code, fused_int_mm_mul_expected
      )
      if fused_int_mm_mul_expected:
          indices = ~ref.isinf()
          torch.testing.assert_close(ref[indices], test[indices])
  
imports: import copy
  import unittest
  import torch
  import torch._dynamo.config
  import torch._inductor.config
  from torch._dynamo.test_case import run_tests, TestCase
  from torch._dynamo.utils import count_calls, counters
  from torch._higher_order_ops.out_dtype import out_dtype
  from torch._inductor.fx_passes import joint_graph
  from torch._inductor.fx_passes.serialized_patterns.central_index import get_serialized_pattern
  from torch._inductor.pattern_matcher import _TargetExpr, Arg, CallFunction, gen_pattern, KeywordArg, Match, PatternExpr, PatternMatcherPass, PatternPrettyPrinter, register_graph_pattern, stable_topological_sort
  from torch._inductor.utils import run_and_get_code
  from torch._inductor.virtualized import V
  from torch.testing import FileCheck
  from torch.testing._internal.common_cuda import SM80OrLater
  from torch.testing._internal.common_utils import IS_LINUX, skipIfRocm
  from torch.testing._internal.inductor_utils import HAS_CUDA
label_desc: Use image node_id 3 for calling the TestPatternMatcher obj's underlying member method code with example usage: obj._test_fused_int_mm_mul_impl(fn, args, fused_int_mm_mul_expected) without return types