code: def _test_pattern_fails_with_unsupported_mask(self):
      if not self.use_static_shapes:
          self.skipTest(
              "Causes shape specialization. TODO: investigate"
          )
  
      # https://github.com/pytorch/pytorch/issues/100315
      class Model(torch.nn.Module):
          def __init__(
              self,
          ):
              super().__init__()
  
          def forward(
              self, query, key, value, attn_mask
          ) -> torch.Tensor:
              attn_weight = torch.softmax(
                  query
                  @ key.transpose(-2, -1)
                  / math.sqrt(query.size(-1))
                  + attn_mask,
                  dim=-1,
              )
              return attn_weight @ value
  
      tensor_shape = (2, 4, 4, 4)
  
      upsupported_masks = [
          torch.randn((2, 4, 4, 4), device=self.device).to(
              dtype=torch.int
          ),
          2.0,
      ]
      for atte_mask in upsupported_masks:
          args = [
              torch.randn(tensor_shape, device=self.device),
              torch.randn(tensor_shape, device=self.device),
              torch.randn(tensor_shape, device=self.device),
              atte_mask,
          ]
          model = Model().eval()
          # The training path has an accuracy gap compared with eager mode.
          self._check_common(
              model,
              args1=args,
              contains=False,
              atol=1e-4,
              has_fuse_pattern=False,
          )
  
imports: import functools
  import itertools
  import math
  import torch
  import torch._inductor.config
  import torch.utils.checkpoint
  from torch._dynamo.test_case import run_tests, TestCase
  from torch._dynamo.utils import counters
  from torch._inductor.utils import run_and_get_code
  from torch.testing._internal.common_cuda import PLATFORM_SUPPORTS_FUSED_ATTENTION, SM80OrLater
  from torch.testing._internal.common_utils import IS_LINUX, skipIfRocm
  from torch.testing._internal.inductor_utils import HAS_CPU, HAS_CUDA
label_desc: Use image node_id 15 for calling the TestSDPAPatternRewriterTemplate obj's underlying member method code with example usage: obj._test_pattern_fails_with_unsupported_mask() and returns: unknown