I think it would make sense to change the volk interface by adding kernel calls which can handle the two alignment cases (aligned, unaligned). We would have to add a is_unaligned parameter to the volk kernel calls.
The gnuradio blocks would then change in the following way: So in stead of: if(is_unaligned()) { for(size_t i = 1; i < input_items.size(); i++){ volk_32fc_x2_multiply_32fc_u(out, out, (gr_complex*)input_items[i], noi); } } else { for(size_t i = 1; i < input_items.size(); i++){ volk_32fc_x2_multiply_32fc_a(out, out, (gr_complex*)input_items[i], noi); } } You would have: for(size_t i = 1; i < input_items.size(); i++) volk_32fc_x2_multiply_32fc(is_unaligned(), out, out, (gr_complex*)input_items[i], noi); You halve the amount of code in gnuradio blocks which to my opinion makes it much more maintainable. Martin On Wed, 2012-02-15 at 12:06 +0100, Martin DvH wrote: > On Tue, 2012-02-14 at 22:56 -0500, Tom Rondeau wrote: > > There's been a ton of work going on in getting us ready to really > > start using Volk in GNU Radio blocks. Instead of repeating myself, > > here, you can see more about the who/what/when/why/how of the changes > > here: > > > > > > http://www.trondeau.com/blog/2012/2/13/gnu-radio-is-crap-and-other-such-insights.html > > I think you copied the wrong link. > You probably meant: > http://www.trondeau.com/blog/2012/2/13/volk-integration-to-gnu-radio.html > > > Martin > > > > > > > The basic summary is that I'm seeing amazing performance results and > > I'm very excited to get this into our project. > > > > > > I'm really hoping that people can check out the branch and test it out > > against their applications. A number of changes were made inside GNU > > Radio and a handful of blocks have been converted to using Volk, and > > I'd like to see how the performance compares. My own tests show great > > results, but I have a pretty heterogeneous setup (Linux/Ubuntu and > > Intel processors). > > > > > > I should have another post on my website later this week discussing my > > benchmark results for the Volk blocks, but anyone interested in > > testing it out on their own should check out > > gnuradio-examples/python/volk_benchmark. The README in that directory > > should help you understand what to do and how to do it. > > > > > > We would like to get this merged into GNU Radio master (and therefore > > version 3.5.2) as soon as possible, so I would really appreciate > > feedback and bug reports as soon as possible. > > > > > > Thanks! > > Tom > > > > > > _______________________________________________ > > Discuss-gnuradio mailing list > > Discuss-gnuradio@gnu.org > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > > > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio