On Thu, Feb 16, 2012 at 2:08 PM, Josh Blum <[email protected]> wrote:
> > > Also, you never want to work on the smallest amount of memory possible. > > This is covered in my discussion on my blog. Making arbitrarily small > calls > > to work functions causes much more overhead than just running the > unaligned > > version of a Volk call. I found this out pretty quickly when I started > > looking into things. Better to process a large chunk to get back into > > alignment than try to handle calls to small amounts of data. > > > > Perhaps this is because you have a processor that doesn't penalize you > for unaligned loads/stores. > > -Josh > I tested this on a handful of different processors: Core2Due, QuadCore, i7 (first get), i7 (second gen) and they all told me the same thing. You are still better doing unaligned loads in Volk than doing the generic loop. Also, the overhead of calling the scheduler functions for small data items is MUCH more costly than an unaligned load. Seriously, making these arbitrarily small calls to the work function for alignment reasons, which allowed me to always run aligned, made things run 4 - 5 times slower than the non-Volk version of the block. Tom
_______________________________________________ Discuss-gnuradio mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
