def METHOD_NAME(self):
    kernel = _core.create_reduction_func(
        'my_sum', ('q->q', 'f->f'), ('in0', 'a + b', 'out0 = a', None), 0)
    assert len(kernel._cached_codes) == 0
    x = cupy.arange(10)
    kernel(x)
    assert len(kernel._cached_codes) == 1
    kernel(x)
    assert len(kernel._cached_codes) == 1
    kernel(x.astype(cupy.float32))
    assert len(kernel._cached_codes) == 2