docstr: Make sure autotuning mm in sub processes work without crashes.
docstr_tok: ["Make","sure","autotuning","mm","in","sub","processes","work","without","crashes","."]
code: def test_max_autotune_cutlass_backend_regular_mm(
      self, dynamic: bool, max_autotune_gemm_backends: str
  ):
      """
      Make sure autotuning mm in sub processes work without crashes.
      """
  
      if max_autotune_gemm_backends == "CUTLASS" and torch.version.hip:
          return
  
      torch.backends.cuda.matmul.allow_fp16_reduced_precision_reduction = (
          False
      )
  
      def mm(a, b):
          return a @ b
  
      a = torch.randn(100, 10).cuda().half()
      b = torch.randn(10, 100).cuda().half()
  
      with config.patch(
          {
              "max_autotune": True,
              "autotune_in_subproc": False,
              "max_autotune_gemm_backends": max_autotune_gemm_backends,
              "cuda.cutlass_dir": _CUTLASS_DIR,
              "cuda.cutlass_max_profiling_configs": 2,
          }
      ):
          Y_compiled = torch.compile(mm, dynamic=dynamic)(a, b)
          Y = mm(a, b)
          torch.testing.assert_close(Y_compiled, Y)
  
imports: import os
  import unittest
  from typing import Callable, List, Optional
  import torch
  from torch import multiprocessing
  from torch._dynamo.test_case import run_tests, TestCase
  from torch._dynamo.testing import reset_rng_state
  from torch._dynamo.utils import counters
  from torch._inductor import config
  from torch._inductor.autotune_process import BenchmarkRequest, CUDA_VISIBLE_DEVICES, TuningProcessPool
  from torch._inductor.graph import GraphLowering
  from torch._inductor.ir import Buffer, FixedLayout
  from torch._inductor.kernel.mm_plus_mm import aten_mm_plus_mm
  from torch._inductor.select_algorithm import AlgorithmSelectorCache, ChoiceCaller, TritonTemplateCaller
  from torch._inductor.utils import run_and_get_code
  from torch._inductor.virtualized import V
  from torch.fx.experimental.proxy_tensor import make_fx
  from torch.testing import FileCheck
  from torch.testing._internal.common_cuda import SM75OrLater, SM90OrLater
  from torch.testing._internal.common_utils import instantiate_parametrized_tests, parametrize, skipIfRocm
  from torch.testing._internal.inductor_utils import HAS_CPU, HAS_CUDA
label_desc: Use image node_id 8 for calling the TestMaxAutotune obj's underlying member method code with example usage: obj.test_max_autotune_cutlass_backend_regular_mm(dynamic, max_autotune_gemm_backends) and returns: unknown