class_docstr: Tests just-in-time cpp extensions.
  Don't confuse this with the PyTorch JIT (aka TorchScript).
code: def test_gen_extension_h_pch(self):
      if not IS_LINUX:
          return
  
      source = """
          at::Tensor sin_add(at::Tensor x, at::Tensor y) {
              return x.sin() + y.sin();
          }
          """
  
      head_file_pch = os.path.join(
          _TORCH_PATH, "include", "torch", "extension.h.gch"
      )
      head_file_signature = os.path.join(
          _TORCH_PATH, "include", "torch", "extension.h.sign"
      )
  
      remove_extension_h_precompiler_headers()
      pch_exist = os.path.exists(head_file_pch)
      signature_exist = os.path.exists(head_file_signature)
      self.assertEqual(pch_exist, False)
      self.assertEqual(signature_exist, False)
  
      torch.utils.cpp_extension.load_inline(
          name="inline_extension_with_pch",
          cpp_sources=[source],
          functions=["sin_add"],
          verbose=True,
          use_pch=True,
      )
      pch_exist = os.path.exists(head_file_pch)
      signature_exist = os.path.exists(head_file_signature)
  
      compiler = get_cxx_compiler()
      if check_compiler_is_gcc(compiler):
          self.assertEqual(pch_exist, True)
          self.assertEqual(signature_exist, True)
  
imports: import os
  import shutil
  import sys
  import unittest
  import warnings
  import re
  import tempfile
  import subprocess
  import glob
  import torch.testing._internal.common_utils
  from torch.testing._internal.common_cuda import TEST_CUDNN, TEST_CUDA
  import torch
  import torch.backends.cudnn
  import torch.utils.cpp_extension
  from torch.utils.cpp_extension import CUDA_HOME, ROCM_HOME
  from torch.testing._internal.common_utils import gradcheck
  import torch.multiprocessing
  from torch.utils.cpp_extension import _TORCH_PATH, remove_extension_h_precompiler_headers, get_cxx_compiler, check_compiler_is_gcc
label_desc: Use image node_id 31 for calling the TestCppExtensionJIT obj's underlying member method code with example usage: obj.test_gen_extension_h_pch() without return types