code: def get_binary_func_kernel(func, dtype_x, dtype_y, dtype_z):
      return get_elwise_kernel(
          "%(tp_x)s *x, %(tp_y)s *y, %(tp_z)s *z"
          % {
              "tp_x": dtype_to_ctype(dtype_x),
              "tp_y": dtype_to_ctype(dtype_y),
              "tp_z": dtype_to_ctype(dtype_z),
          },
          "z[i] = %s(x[i], y[i])" % func,
          func + "_kernel",
      )
  
imports: from pycuda.tools import context_dependent_memoize
  from typing import Any
  import numpy
  from pycuda.tools import dtype_to_ctype, VectorArg, ScalarArg
  from pytools import memoize_method
label_desc: Use image node_id 15 for calling a global function with example usage: get_binary_func_kernel(func, dtype_x, dtype_y, dtype_z) and returns: get_elwise_kernel