code: def backprop_reduce_sum(self, d_sums, lengths):
      if (
          d_sums.dtype in ("float32", "float64")
          and lengths.dtype == "int32"
      ):
          return _custom_kernels.backprop_reduce_sum(d_sums, lengths)
      else:
          return super().backprop_reduce_sum(d_sums, lengths)
  
imports: import numpy
  from ..None import registry
  from ..compat import cupy, cupyx
  from ..types import DeviceTypes
  from ..util import is_cupy_array, is_mxnet_gpu_array, is_tensorflow_gpu_array, is_torch_cuda_array, mxnet2xp, tensorflow2xp, torch2xp
  from .None import _custom_kernels
  from .numpy_ops import NumpyOps
  from .ops import Ops
label_desc: Use image node_id 31 for calling the CupyOps obj's underlying member method code with example usage: obj.backprop_reduce_sum(d_sums, lengths) and returns: _custom_kernels, super