discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] GNURadio over PS3


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] GNURadio over PS3
Date: Mon, 17 Dec 2007 12:38:18 -0800
User-agent: Mutt/1.5.17 (2007-11-01)

On Mon, Dec 17, 2007 at 07:42:48PM +0100, Vincenzo Pellegrini wrote:
> Really thanks Robert,
> 
> your answer was extremely useful, to get into the problem..
> well, now my question becomes:
> 
> let's say I have a gnuradio application entirely built using my own C++
> blocks, 
> as soon as I'll have mastered the required CellProcessor development
> skills, 
> if I rewrite my C++ blocks in a way that is suitable for running them on
> the SPEs (i.e. breaking them into multiple synchronized threads),
> building them via the CellSDK,
> 
> will my application actually use SPEs if run under the same Python
> script under Fedora X ?
> 
> thanks
> 
> vincenzo


The "Phase I" plan for utilizing the Cell SPE's is basically a
"function offload model", where GNU Radio blocks may offload portions
of their computation to the SPEs.

This requires a couple of changes.  The first is a low cost way to
offload dynamically varying work to the SPEs.  That's coming together
in the "gcell" Cell job manager framework that currently lives in
gnuradio/branches/developers/eb/gcell.  It's not complete yet, but
will provide a way to asynchronously submit multiple "jobs" to the
SPEs, and a way to wait for them to complete.  The jobs are pulled
from a global queue by the SPEs, execute, then the PPE is notified
when the job is complete.

These two files spec the interface to the job manager:

  
http://gnuradio.org/trac/browser/gnuradio/branches/developers/eb/gcell/src/lib/gc_job_manager.h
  
http://gnuradio.org/trac/browser/gnuradio/branches/developers/eb/gcell/src/include/gc_job_desc.h

The second is to write an alternative GNU Radio scheduler that allows
work functions to block (waiting for offloaded work to complete)
without killing progress in all other gr_blocks.  This is the "thread
per block" scheduler.  I haven't started coding it yet.

When all of this is complete, yes, your same Python script will run on
the Cell, and assuming that you're using blocks that have been modified
to offload to the SPEs, it'll run faster.

After doing a bit of measurement, we'll pick some blocks to offload.
One of the first candidates is the FFT block.

Eric




reply via email to

[Prev in Thread] Current Thread [Next in Thread]