Monday, January 10, 2011

Re: [Discuss-gnuradio] Parallel programming

On 01/10/2011 03:11 PM, sirjanselot wrote:
> How do I know that my flow-graph is executing in thread per block mode?
>
> As far as I can tell my only 1 core out of the 8 is being used when I run my
> flow-graphs. This is what I see when I run the performance monitor (or
> whatever it is called) in Ubuntu.
>
> I am currently using gnuradio 3.3.0 as my version.
>
> So can I parallelize my block without having to create a meta-block as you
> say? I have a lot of for-loops and vector calculations that need to be
> optimized (adaptive fir filters).
By default, each flow-graph is assigned its own thread. It's up to the
kernel to schedule these as it sees fit.

Getting parallelism *inside your own custom block* is something you'll
have to deal with yourself.

I've done experiments with using the multi-threaded FFTW libraries for
very large transforms, which causes
internal parallelism with the FFTW library. This works, and doesn't
appear to adversely affect Gnu Radio
thread-per-block scheduling.

The thread-per-block scheduler is the default behaviour, so the reason
you may only be seeing one core in use is just
due to the dynamic behaviour of your flowgraph.

--
Marcus Leech
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org

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

No comments:

Post a Comment