On 07/31/2012 06:00 AM, Carles Fernandez wrote:
> Dear all,
> 
> we are looking into the implementation of correlators in which the two
> sequences to correlate are vectors of std::complex<short>. For
> gr_complex<float>, we use:
> 
>  volk_32fc_x2_dot_prod_32fc_a
> 
> but for shorts we would need something like
> volk_16ic_x2_dot_prod_16ic_a, which does not exist. What is the best
> way to go? It makes sense to implement such a function, or there is
> not much gain expected with this specific data format?
> 

typically the model is to add the kernel to volk, its just another
header in volk/include/volk/volk_32fc_x2_dot_prod_32fc_a.h

Write the generic (C only) implementation, and use this in your block,
test it, make sure it works. Then write another implementation using
SIMD intrinsics.

> Any advice will be greatly appreciated!
> 

gnuradio often focuses on floats and x86. It would be wonderful to see
some more fixed point contributions. go for it!

As far as performance, it depends on your CPU. For arm, fixed point
computation could be beneficial. For x86, floating point is already
pretty optimized, so less of a performance gain I assume.

-josh


PS dont listen to me, let the benchmarking decide what performs best :-)

_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to