On Mon, Dec 17, 2007 at 07:42:48PM +0100, Vincenzo P. wrote:
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