code: def test_outoforderqueue_clmath(ctx_factory):
      context = ctx_factory()
      try:
          queue = cl.CommandQueue(
              context,
              properties=cl.command_queue_properties.OUT_OF_ORDER_EXEC_MODE_ENABLE,
          )
      except Exception:
          pytest.skip("out-of-order queue not available")
  
      rng = np.random.default_rng(seed=42)
      a = rng.random(10**6, dtype=np.float32)
      a_gpu = cl_array.to_device(queue, a)
      # testing that clmath functions wait for and create events
      b_gpu = clmath.fabs(clmath.sin(a_gpu * 5))
      queue.finish()
      b1 = b_gpu.get()
      b = np.abs(np.sin(a * 5))
      assert np.abs(b1 - b).mean() < 1e-5
  
file_path: pyopencl/test/test_clmath.py
imports: import math
  import numpy
  import pytest
  import pyopencl.array
  import pyopencl
  import pyopencl.clmath
  from pyopencl.tools import pytest_generate_tests_for_pyopencl
  from pyopencl.characterize import has_double_support, has_struct_arg_count_bug
label_desc: Use image node_id 12 for calling a global function with example usage: test_outoforderqueue_clmath(ctx_factory) without return types