code: def _check_for_pocl_arg_count_bug(
      dev: cl.Device, ctx: Optional[cl.Context] = None
  ) -> bool:
      try:
          return _CHECK_FOR_POCL_ARG_COUNT_BUG_CACHE[dev]
      except KeyError:
          pass
  
      if ctx is None:
          build_ctx = cl.Context([dev])
      else:
          build_ctx = ctx
  
      prg = cl.Program(
          build_ctx,
          """
              struct two_things
              {
                  long a;
                  long b;
              };
  
              __kernel void test_knl(struct two_things x)
              {
              }
              """,
      ).build()
  
      result = prg.test_knl.num_args == 2
      _CHECK_FOR_POCL_ARG_COUNT_BUG_CACHE[dev] = result
  
      return result
  
imports: import pyopencl
  from pytools import memoize
  from typing import Dict, Optional, Tuple
label_desc: Use image node_id 13 for calling a global function with example usage: _check_for_pocl_arg_count_bug(dev, ctx) and returns: result, _CHECK_FOR_POCL_ARG_COUNT_BUG_CACHE