Open psteinb opened 4 years ago
Deconvolution using Richardson Lucy involves repeated iterations (usually 100+) of a) followed by c). I've always used floats to save memory and improve speed.
I think this would be a great question for the forum. I'm very interested in hearing about other projects and algorithms that need fast FFTs. It may lead to some opportunities for collaboration.
* Are FFTs used mostly in a one-off manner or or people interested in fast FFTs only if they are executed in recursive/iterative applications (think Richardson-Lucy deconvolutions) **My guess would be that people are interested in fast FFTs for the latter exclusively.**
I would like to point out, that iterative is not identical with cache-reuse. You are probably right, that most applications use FFTs in iterative settings, but during each iteration step other things will have happen which may expel the FFT inputs from cache.
@bnorthan I'll take your comment as a motivation to stick my neck out. ;-) What could possibly go wrong?
Dear @haesleinhuepf @bnorthan ,
don't panic, nothing wrong with clij2. ;-) Not sure if this is the right place to ask, maybe the imagej forums might be worth trying as well. My student @zyzzyxdonta is working on benchmarking FFTs on Power9 and ARM platforms. One of his examiners critized our benchmarking approach as non-realistic. We basically conduct warm-up runs on our synthetic data and then "only" measure the hot cache runs following this to obtain an ensemble of time measurements. This gives us more sound statistics to make inferences and compare.
So I'd love to know, where people use FFTs and with which data. So I am interested in the following questions:
real2complex
b)complex2complex
c)complex2real
My guess for the image analysis community would be a+c.float
ordouble
) No guess for this one.I know that these are quite general questions, but at least some sample answers would help us.
Best, @psteinb