|
From: | Marcus D. Leech |
Subject: | Re: [Discuss-gnuradio] Working with GRC! Vector decimate |
Date: | Fri, 16 Mar 2018 20:16:21 -0400 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
On 03/16/2018 10:57 AM, Glen I Langston wrote:
Hi Thanks for your help. I know no-one else cares, but I’ve finally figured out all the steps to get Vector decimation working with GRC. A few notes: I don’t think forecast() is ever called with a decimate block. Multiple output vectors are possible, and care needs to be taken to count all the outputs. My initial QA only had one vector output, so worked fine. GRC was generating multiple vectors as output and my vave code was chocking on multiple outputs. I’ve yet to figure out how to put this block in GitHub
Glen:First, congrats on getting your first custom block working. I pop the virtual champagne cork in your general direction.
Next, rough outline of getting your stuff on GitHub: Create a GitHub account. Create a project. Do an initial git clone of the project, and move your "stuff" into there. Git "add" all the pieces that should be under source control. Git "commit -a" Git push There, you have an initial instance of your stuff.Now, since this block just does the (rough) equivalent (at the moment) of a single-pole-IIR filter followed by a keep-one-in-N, it would be useful to compare performance of your fused block. I suspect that it will be poorer--because it's written in Python.
A fairer test would be to create a fused averager+decimator in C++, taking advantage of whatever SIMD tricks might be available. The savings on "fused" blocks are that they localize data-motion, but they may, for significant-sized inputs, lose out due to the single-threaded nature of them.
Optimization is tricky, and it's not always obvious that any given approach will "always work".
[Prev in Thread] | Current Thread | [Next in Thread] |