code: def _get_max_parameter_size(dev):
      """Return the device's maximum parameter size adjusted for PoCL."""
      from pyopencl.characterize import get_pocl_version
  
      dev_limit = dev.max_parameter_size
      pocl_version = get_pocl_version(
          dev.platform, fallback_value=(1, 8)
      )
      if pocl_version is not None and pocl_version < (3, 0):
          # Current PoCL versions (as of 04/2022) have an incorrect parameter
          # size limit of 1024; see e.g. https://github.com/pocl/pocl/pull/1046
          if dev_limit == 1024:
              if dev.type & cl.device_type.CPU:
                  return 1024 * 1024
              if dev.type & cl.device_type.GPU:
                  # All modern Nvidia GPUs (starting from Compute Capability 2)
                  # have this limit
                  return 4352
  
      return dev_limit
  
file_path: pyopencl/pyopencl/invoker.py
imports: import numpy
  from warnings import warn
  import pyopencl._cl
  from pytools.persistent_dict import WriteOncePersistentDict
  from pytools.py_codegen import Indentation, PythonCodeGenerator
  from pyopencl.tools import _NumpyTypesKeyBuilder, VectorArg
  import pyopencl
label_desc: Use image node_id 4 for calling a global function with example usage: _get_max_parameter_size(dev) and returns: dev_limit, unknown, int