[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] PS3 - gcell_fft
From: |
Thilo Mönicke |
Subject: |
Re: [Discuss-gnuradio] PS3 - gcell_fft |
Date: |
Fri, 29 Jan 2010 15:31:27 +0100 |
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 Blossom <address@hidden>:
> 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
>
>
>> 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 ...
>