code: def get_scalar_op_kernel(dtype_x, dtype_a, dtype_y, operator):
      return get_elwise_kernel(
          "%(tp_x)s *x, %(tp_a)s a, %(tp_y)s *y"
          % {
              "tp_x": dtype_to_ctype(dtype_x),
              "tp_y": dtype_to_ctype(dtype_y),
              "tp_a": dtype_to_ctype(dtype_a),
          },
          "y[i] = x[i] %s a" % operator,
          "scalarop_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 32 for calling a global function with example usage: get_scalar_op_kernel(dtype_x, dtype_a, dtype_y, operator) and returns: get_elwise_kernel