def _deconv_rl_gpu_conv(data_g, h_g, Niter=10):
    """
    using convolve

    """

    # set up some gpu buffers
    u_g = OCLArray.empty(data_g.shape, np.float32)

    u_g.copy_buffer(data_g)

    tmp_g = OCLArray.empty(data_g.shape, np.float32)
    tmp2_g = OCLArray.empty(data_g.shape, np.float32)


    # fix this
    hflip_g = OCLArray.from_array((h_g.get()[::-1, ::-1]).copy())



    for i in range(Niter):
        convolve(u_g, h_g,
                 res_g=tmp_g)

        _divide_inplace(data_g, tmp_g)

        # return data_g, tmp_g

        convolve(tmp_g, hflip_g,
                 res_g=tmp2_g)



        _multiply_inplace(u_g, tmp2_g)

    return u_g
using convolve