Eric Blossom wrote:
> On Tue, Jan 06, 2009 at 11:20:48PM -0500, Marcus D. Leech wrote:
>   
>> Eric Blossom wrote:
>>     
>>> Is this an SMP machine, or a cluster?
>>>
>>> If SMP, it'll "just work".  If it's a cluster, you'll need to figure
>>> out how to partition separate instantiations of GR on each node.
>>>
>>> Eric
>>>       
>> SMP.
>>
>> Describe how it'll "just work"??
>>
>> Maybe I haven't looked at all the blocks carefully enough, but I can't
>> immediately see how to do this.
>>
>> I basically want a "distributor" block that distributes FFT input frames
>> to multiple instances of an FFT computation,
>>   across multiple threads, and have the results of the separate FFTs
>> synchronized.
>>     
>
> Sounds good.  Sorry,  I misunderstood your goal.
> (I'm working on the guts of FFTW now and have FFT on the brain...)
>
> I think we have the blocks you need to do the fanout and fanin
> already.  They're disguised as
>
>   gr.deinterleave(itemsize)
>   gr.interleave(itemsize)
>
> I think you could use them like this:
>
>   fft_size = 512
>
>   usrp = ...
>
>   fanout = gr.deinterleave(fft_size * gr.sizeof_complex)
>   fanin = gr.interleave(fft_size * gr.sizeof_complex)
>
>   fft0 = ...
>   fft1 = ...
>   fft2 = ...
>   fft3 = ...
>
>   connect(usrp, fanout)
>
>   connect((fanout, 0), fft0)
>   connect((fanout, 1), fft1)
>   connect((fanout, 2), fft2)
>   connect((fanout, 3), fft3)
>
>   connect(fft0, (fanin, 0))
>   connect(fft1, (fanin, 1))
>   connect(fft2, (fanin, 2))
>   connect(fft3, (fanin, 3))
>
>
> Each block runs in its own thread, so this should run faster on an SMP
> machine.  Please let us know if this works for you!
>
> [FYI, there are also two extra copies happening in the gr.fft_* block that I
> now know how to remove...]
>
> Eric
>
>   
Yes, I came to the same conclusion about gr.interleave trickery myself,
and will have to noodle over it when I'm awake.



-- 
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

Reply via email to