[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] Multi-threaded FFTW
From: |
Marcus D. Leech |
Subject: |
[Discuss-gnuradio] Multi-threaded FFTW |
Date: |
Mon, 06 Dec 2010 02:05:20 -0500 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10 |
I did some tests tonight using the multi-thread support in FFTW3.
The changes to gri_fft.cc were relatively minor, but plugging this into
the existing build environment
will require a little surgery, since you need to add -lfftw3f_threads
to the ld flags, and the ld flags
for FFTW3F are intuited from pkgconfig by default, which doesn't
include support for multi-threaded
FFTW3F. I didn't do that surgery, instead manually setting the
FFTW3F_LIBS environment variable
before calling ./configure, and then doing the build.
On my lowly Centrino-Duo laptop, I was able to measure a 40% throughput
improvement between
single-threaded and setting the thread count to 2, for a single
forward FFT of size 2**19.
The implementation allows you to set variables in the [fftw] section of
the prefs file as follows:
[fftw]
nthreads=1
threshold=15000
measure=False
nthreads: maximum number of threads that the FFTW3F scheduler will use
threshold: the minimum FFT size before we turn on multi-threaded FFTW
scheduling
measure: whether the FFT setup uses FFTW_MEASURE or FFTW_ESTIMATE
More tests in my lab tomorrow, on my 6-core Phenom II system.
--
Principal Investigator
Shirleys Bay Radio Astronomy Consortium
http://www.sbrac.org
- [Discuss-gnuradio] Multi-threaded FFTW,
Marcus D. Leech <=