code: def test_print(func: str, data_type: str):
      shape = (128,)
      x = torch.arange(
          0, shape[0], dtype=torch.int32, device="cuda"
      ).to(getattr(torch, data_type))
      y = torch.zeros(shape, dtype=x.dtype, device="cuda")
      if func == "device_print":
          kernel_device_print[(1,)](x, y, BLOCK=shape[0])
      elif func == "print":
          kernel_print[(1,)](x, y, BLOCK=shape[0])
      elif func == "device_print_large":
          kernel_device_print_large[(1, 2)](BLOCK_M=64, BLOCK_N=128)
      elif func == "print_multiple_args":
          kernel_print_multiple_args[(1,)](x, y, BLOCK=shape[0])
      elif func == "device_print_multiple_args":
          kernel_device_print_multiple_args[(1,)](x, y, BLOCK=shape[0])
      elif func == "static_print":
          kernel_static_print[(1,)](
              x, y, BLOCK=shape[0], PLACEHOLDER=uuid.uuid4()
          )
      elif func == "no_arg_print":
          kernel_no_arg_print[(1,)](num_warps=4)
      elif func == "print_no_arg":
          kernel_print_no_arg[(1,)](num_warps=4)
      else:
          assert f"Unknown kernel: {func}"
  
      if (
          func != "print_no_arg"
          and func != "no_arg_print"
          and func != "device_print_large"
          and func != "print_multiple_args"
          and func != "device_print_multiple_args"
      ):
          assert_close(y, x)
  
file_path: triton/python/test/unit/language/print_helper.py
imports: import sys
  import uuid
  import torch
  from torch.testing import assert_close
  import triton
  import triton.language
label_desc: Use image node_id 9 for calling a global function with example usage: test_print(func, data_type) without return types