dcv icon indicating copy to clipboard operation
dcv copied to clipboard

Filters should be separated

Open 9il opened this issue 8 years ago • 7 comments

See https://en.wikipedia.org/wiki/Separable_filter

9il avatar Nov 16 '16 09:11 9il

The idea of separable filter is to perform one direction and then another one. We also need to add image cache-friendly blocking. Image should be splitted into blocks 15 KBs each. Then for each block we apply H and G filter parts. In addition we may remove Yes.vectorized and Yes.fastmath (needs benchmark).

9il avatar Nov 16 '16 10:11 9il

see also #86

9il avatar Nov 16 '16 10:11 9il

We also need to add image cache-friendly blocking. Image should be splitted into blocks 15 KBs each

This is something I've been meaning to talk to you about for some time now. Halide language may come as nice reference, for cache friendliness: http://halide-lang.org/

Awesome let's do it. Do you have a proposition how do we do this? I could come up with something, but I'd really like go hear what you think. Do we need (or want) to redesign the base filtering API?

ljubobratovicrelja avatar Nov 16 '16 14:11 ljubobratovicrelja

Halide language may come as nice reference, for cache friendliness: http://halide-lang.org/

Awesome! We can implement Halide as library solution in Dlang :-)

9il avatar Nov 16 '16 14:11 9il

We can implement Halide as library solution in Dlang

What do you mean by this? Using halide inside D?

ljubobratovicrelja avatar Nov 16 '16 15:11 ljubobratovicrelja

What do you mean by this? Using halide inside D?

No, we can implement its functionality as an ndslice module

9il avatar Nov 16 '16 15:11 9il

we can implement its functionality as ndslice module

YES - This is something I've been thinking about for a long time - we should definitely do this!

ljubobratovicrelja avatar Nov 16 '16 15:11 ljubobratovicrelja