code: def Reduce(self, env, instance, input, reduction_op):
      if input.ctype != self.T:
          raise TypeError(
              f"Invalid input type {input.ctype}. ({self.T} is expected.)"
          )
      return _internal_types.Data(
          f"{instance.code}.Reduce({input.code}, {reduction_op.code})",
          input.ctype,
      )
  
imports: from cupyx.jit import _cuda_types
  from cupyx.jit import _cuda_typerules
  from cupyx.jit import _internal_types
  from cupy_backends.cuda.api import runtime
label_desc: Use image node_id 3 for calling the _CubReduceBaseType obj's underlying member method code with example usage: obj.Reduce(env, instance, input, reduction_op) and returns: _internal_types