Hi,
I tried to set up a little Testprogram for the PS3 which should show
the advantage of the Power PC structure. For that, the program should
calculate 10000 FFTs and take the time. Unfortunately this program is
much slower as a same program running at a GPP. With the tool spu-top
I verified that all SPUs are working…
Do you have any idea how I could speed up my program?
Here is my Python-code (only the intresting part…):
class BenchmarkFFT(gr.top_block):
def init(self):
ph =
gcell.program_handle_from_filename("/home/moenicke/gnuradio-3.2.2/gcell/lib/spu/gcell_all")
opts = gcell.jm_options(ph,0)
self.mgr = gcell.job_manager(opts)
gcell.set_singleton(self.mgr)
gr.top_block.__init__(self)
fft_len=1024
n_ffts=10000
src = gr.noise_source_c(gr.GR_GAUSSIAN, 1.0)
head = gr.head(gr.sizeof_gr_complex, fft_len * n_ffts)
s2v = gr.stream_to_vector(gr.sizeof_gr_complex, fft_len)
fft= gcell.fft_vcc(fft_len, True, [])
sink = gr.null_sink(gr.sizeof_gr_complex * fft_len)
self.connect (src, head, s2v, fft, sink)
reguards
Thilo
@Eric: thank you for your last answer, it was a big help for me …
Hi,
I tryed to set the fft lenght to 16384… but the gcell fft only
accepts values to 4096. Its defined in the C-Files, but why?
Do you have any working benchmarks for the ps3?
regards,
Thilo
2010/1/27 Eric B. [email protected]:
On Wed, Jan 27, 2010 at 11:36:14AM +0100, Thilo Mönicke wrote:
Hi,
I tried to set up a little Testprogram for the PS3 which should show
the advantage of the Power PC structure. For that, the program should
calculate 10000 FFTs and take the time. Unfortunately this program is
much slower as a same program running at a GPP. With the tool spu-top
I verified that all SPUs are working…
Do you have any idea how I could speed up my program?
Currently, the break even point is higher than 1024 points due to
the overhead to get to the SPEs and back.
Try 16384 points 
Eric
On Fri, Jan 29, 2010 at 03:31:27PM +0100, Thilo Mönicke wrote:
Hi,
I tryed to set the fft lenght to 16384… but the gcell fft only
accepts values to 4096. Its defined in the C-Files, but why?
Do you have any working benchmarks for the ps3?
regards,
Thilo
Sorry Thilo, I steered you in the wrong direction.
The best gcell related FFT code is on CGRAN:
Project description:
https://www.cgran.org/wiki/GcellizedFFTW
Best code:
svn co
https://www.cgran.org/cgran/projects/fftw-gcell/branches/developers/eb/fftw-wip
This code will compute FFT’s up to at least 16K points, perhaps 64K (I
don’t remember). It’s implemented as a modified version of FFTW that
knows about gcell.
To test it, just build and install. By default, let fftw create the
gcell job manager (FFTW will link in the right FFTW spe code. See
fftw-wip/cell/gcell.cc for details.) It’s also possible to link this
code into your own SPE executable.
With the modified FFTW library, use the regular gr.fft_vcc block, not
the gcell.fft_vcc block.
Eric