code: def local_gpua_cumop(op, ctx_name, inputs, outputs):
      if inputs[0].dtype != "float32":
          return False
      axis = op.axis
      x = inputs[0]
      if axis is not None and x.ndim > GpuCumOp.SUPPORTED_NDIMS:
          return False
  
      x = as_gpuarray_variable(x, ctx_name)
  
      if axis is None and x.ndim > 1:
          x = GpuReshape(1)(x, (-1,))
  
      # ``gpu_cumop`` assume array has been flattened if needed.
      if axis is None:
          axis = 0
  
      return GpuCumOp(axis, op.mode)(x)
  
imports: from __future__ import absolute_import, print_function, division
  from theano import Apply, Op
  from theano.tensor.extra_ops import CumOp
  from .basic_ops import as_gpuarray_variable, GpuKernelBase, Kernel, GpuReshape, infer_context_name, gpuarray_helper_inc_dir
  from .opt import register_opt, op_lifter, register_opt2
  from .type import gpu_context_type
  from theano.gof import ParamsType
  import theano.scalar
label_desc: Use image node_id 1 for calling a global function with example usage: local_gpua_cumop(op, ctx_name, inputs, outputs) and returns: GpuCumOp, False, False