code: def test_elwise_kernel_with_options(ctx_factory):
      from pyopencl.clrandom import rand as clrand
      from pyopencl.elementwise import ElementwiseKernel
  
      context = ctx_factory()
      queue = cl.CommandQueue(context)
  
      in_gpu = clrand(queue, (50,), np.float32)
  
      options = ["-D", "ADD_ONE"]
      add_one = ElementwiseKernel(
          context,
          "float* out, const float *in",
          """
          out[i] = in[i]
          #ifdef ADD_ONE
              +1
          #endif
          ;
          """,
          options=options,
      )
  
      out_gpu = cl.array.empty_like(in_gpu)
      add_one(out_gpu, in_gpu)
  
      gt = in_gpu.get() + 1
      gv = out_gpu.get()
      assert la.norm(gv - gt) < 1e-5
  
imports: import numpy
  import numpy.linalg
  import sys
  from pytools import memoize
  from test_array import general_clrand
  import pytest
  import pyopencl
  import pyopencl.array
  from pyopencl.tools import pytest_generate_tests_for_pyopencl
  from pyopencl.characterize import has_double_support, has_struct_arg_count_bug
  from pyopencl.scan import InclusiveScanKernel, ExclusiveScanKernel, GenericScanKernel, GenericDebugScanKernel
  from pyopencl.characterize import get_pocl_version
label_desc: Use image node_id 2 for calling a global function with example usage: test_elwise_kernel_with_options(ctx_factory) without return types