code: def masked_clip_2d(data, mask, lower, upper):
      """
      Clip the elements of an input array between lower and upper bounds,
      skipping over elements that are masked out.
  
      Parameters
      ----------
      data: cupy.ndarray
          Numeric ndarray that will be clipped in-place
      mask: cupy.ndarray
          Boolean ndarray where True values indicate elements that should be
          skipped
      lower: int or float
          Lower bound to clip to
      upper: int or float
          Upper bound to clip to
  
      Returns
      -------
      None
          data array is modified in-place
      """
      masked_clip_2d_kernel[cuda_args(data.shape)](
          data, mask, lower, upper
      )
  
imports: from __future__ import annotations
  from math import ceil, isnan
  from packaging.version import Version
  import numba
  import numpy
  from numba import cuda
label_desc: Use image node_id 2 for calling a global function with example usage: masked_clip_2d(data, mask, lower, upper) without return types