code: def test_memory_leak() -> None:
      @triton.jit
      def kernel(in_ptr0, out_ptr0, xnumel, XBLOCK: tl.constexpr):
          xnumel = 10
          xoffset = tl.program_id(0) * XBLOCK
          xindex = xoffset + tl.arange(0, XBLOCK)[:]
          xmask = xindex < xnumel
          x0 = xindex
          tmp0 = tl.load(in_ptr0 + (x0), xmask)
          tl.store(
              out_ptr0 + (x0 + tl.zeros([XBLOCK], tl.int32)),
              tmp0,
              xmask,
          )
  
      tracemalloc.start()
      try:
          inp = torch.randn(10, device="cuda")
          out = torch.randn(10, device="cuda")
          kernel[(10,)](inp, out, 10, XBLOCK=16)
          gc.collect()
          begin, _ = tracemalloc.get_traced_memory()
          for _ in range(100):
              kernel[(10,)](inp, out, 10, XBLOCK=16)
          gc.collect()
          end, _ = tracemalloc.get_traced_memory()
          assert end - begin < 30000
      finally:
          tracemalloc.stop()
  
imports: import gc
  import tracemalloc
  import torch
  import triton
  import triton.language
label_desc: Use image node_id 1 for calling a global function with example usage: test_memory_leak() without return types