On Tue, 2009-05-19 at 08:26 -0400, Tom Lutz wrote:
This may be a somewhat banal question, but what would be the optimal
hardware/software configuration needed to leverage the power of
Core i7 versus Core2 Duo versus Other (maybe cell)?
gnuradio depends heavily on floating point performance and memory
It makes good use of multiple cores.
So if you can afford it use a quad-core processor with a high memory
( i7 quad or a quad core AMD phenom II )
64-bit Linux versus 32?
Definitively 64 bit.
I haven’t measured it recently but I have seen people report that going
from 32 to 64 bit linux gave a very significant performance boost with
Any hardware acceleration/DSP cards?
Work is being done on a Cell and a GPGPU port (run processing on
videocard) of gnuradio.
I myself am working on the gpgpu port.
At the moment this is done using CUDA which is a nvidia-only technology.
As soon as OpenCL is available this will be rewritten in OpenCL.
OpenCL is a cross-platform technology for doing massive parallel
calculations on different hardware on different OSes (Windows, Linux,
Nvidia has a beta version for Nvidia cards for linux, windows.
ATI is working on a version for their cards.
There will be a IBM Cell version.
The next release of MacosX will have support for it (And will also make
use of it within the OS)
When running on the videocard the memory bandwidth of the videocard is
the main performance differentiator between cards.
(The biggest bottleneck is the transfer of the data over the PCI-express
bus and the call-overhead but this is about the same for all PCI-express
Don’t expect the GPGPU port to be production ready within the next year
or two though. So unless you want to want to help with this port you
don’t have to be picky which videocard to choose.
If you do want to help with the GPGPU port I would suggest a nvidia GTX
200 series card for best performance (Nvidia GTX 285 if you can affort
the financial and power budget)
I myself use a nvidia 9600 GT which is not that fast, but gives a good
impression if rewriting gnuradio for running on the GPU will give a
speed improvement on average machines.
Amount/type of RAM?
Fast, faster fastest. Amount is not that critical.
2 GB or more should do for most Gnuradio work on Linux.
While running some flow graphs on an older machine, I found that I had
designed one of my low pass filters too tightly. The large number of
taps in the FIR consumed all the processing power available, and
starved the USRP for data.
This is exactly why I started the GPGPU port.
You can sometimes have better results when you use the gr_fft filter in
stead of the gr_fir filter.
It depends on your decimation factor if this has better or worse
low decimation factor: use FFT
high decimation factor: use FIR
If in doubt: benchmark
Is there a way to notify the user when a flow graph begins to fail or
I don’t know any.
Anybody else knows a trick for this?