class_docstr: Parameters
  ----------
  axis
      Can not be None. If you want the array flattened, do it before.
class_docstr_tok: ["Parameters","--","--","--","--","--","axis","Can","not","be","None",".","If","you","want","the","array","flattened",",","do","it","before","."]
code: def make_node(self, x):
      assert (
          x.type.dtype == "float32"
      ), "Only float32 supported for GpuCumOp"
  
      context_name = infer_context_name(x)
  
      x = as_gpuarray_variable(x, context_name)
  
      if x.ndim > GpuCumOp.SUPPORTED_NDIMS:
          raise NotImplementedError(
              "Only cum op on 1D, 2D and\
                                         3D arrays are supported right now!"
          )
  
      if self.axis >= x.ndim or self.axis < -x.ndim:
          raise ValueError("axis(={0}) out of bounds".format(self.axis))
      return Apply(self, [x], [x.type()])
  
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 8 for calling the GpuCumOp obj's underlying member method code with example usage: obj.make_node(x) and returns: Apply