Note to self: The algorithm least_square(x, b) has a direct frequency domain inversion method, utilizing the Halide-accelerated FFT interface. However, the current implementation requires context switch between Halide/C++ domain and Numpy/Python domain, introducing overhead.
The internal buffer lifetime, namely self.ftmp_halide, could have been managed in the Halide/C++ domain to reduce code bloat.
Note to self: The algorithm
least_square(x, b)
has a direct frequency domain inversion method, utilizing the Halide-accelerated FFT interface. However, the current implementation requires context switch between Halide/C++ domain and Numpy/Python domain, introducing overhead.The internal buffer lifetime, namely
self.ftmp_halide
, could have been managed in the Halide/C++ domain to reduce code bloat.Roadmap:
least_squares_direct(input, b, freq_diag, output)
self.ftmp_halide
.proximal/examples/test_deconv.py
.https://github.com/comp-imaging/ProxImaL/blob/44eef8c95886d37f193e9a733e867910edf76c02/proximal/prox_fns/sum_squares.py#L198-L231