|
From: | West, Nathan |
Subject: | Re: [Discuss-gnuradio] Speed Optimization and Application for ATSC Receivers |
Date: | Sun, 6 Mar 2016 16:33:48 -0500 |
On Sun, 2016-03-06 at 08:49 -0500, address@hidden
wrote:
> Message: 5
> Date: Sun, 06 Mar 2016 06:45:13 +0000 (GMT)
> From: Joshua Lilly
> Hello,
> My name is Josh and I am interested in getting involved in GNU radio.
> Specifically, I would like to work on the above project idea for
> google summer of code 2016 by implementing Viterbi and demux
> algorithms in volk and testing the speed improvements. I have
> experience with python, c/c++, boost, and profiling with valgrind. I
> currently have read the getting involved page, compiled the code, I am
> working my way through some of the tutorials, and I have read through
> the code in volk. Even if I don't get accepted to google summer of
> code, I would still like to get involved in fixing bugs, or something
> since this seems like a really awesome project.
4. Create volk kernels to replace the main operations in the work()
functions of these blocks, if you can. Since adding a constant is so
simple, and ORC is very good about optimizing simple things, the volk
implementations should include an ORC implementation if possible. Odds
are the ORC implementation will beat hand-written SIMD versions for x86
processors. Use volk_profile to prove my guess about ORC right or
wrong. :)
5. Create volk-ized versions of the add_const blocks and remeasure their
performance. How much improvement did you get?
6. Don't forget to add QA tests for the new volk functions.
As an alternate to the above:
1. Improve the performance of the nlog10_ff block by using log2,
algebra, volk, and skipping the add of k at the end, if k == 0.0.
2. Create a new approx_nlog10_ff block by taking advantage of the fact
that the log2 exponent in IEEE floats can be obtained with a mask and
shift operation. Don't forget to add a GRC .xml file for the block and
QA test code.
Regards,
Andy
[Prev in Thread] | Current Thread | [Next in Thread] |