[patch] Parallel FFTM
Jules Bergmann
jules at codesourcery.com
Fri May 12 12:22:16 UTC 2006
This patch adds support for Fftm to work in parallel. At the core, this
required three minor changes:
- Have fftm_facade call the workspace with 'view.local()' instead
of view
I.e. for by_reference, change call from
workspace_.by_refernce(..., in, out);
to:
workspace_.by_reference(..., in.local(), out.local());
- Have the fftw3 backend use the rows/cols passed from the workspace
to determine the number of FFTs to perform (instead of the saved
value mult_).
(Similar changes may need to be made for the other backends. I
will look at SAL next).
- For by_value Fftm, use the input's map as the map for the output.
(Also, since Fast_block apparently can't be distributed at the
moment, use Dense block for distributed results).
Also included in this patch:
- Add input checking to fftm_facade. In particular
- check that input and output view sizes are correct.
- check that maps for distributed data are supported.
This is primarily a "usability" enhancement to detect incorrect usage
at the root.
- Fix Wall warnings (unsigned vs signed comparison) in
fftw3/fft_impl.hpp
- (Non FFT related): have configure default to --with-lapack=probe
if no --with-lapack option given. (This is consistent with our
MPI behavior).
- (Non FFT related): add --with-test-level option to set
VSIP_IMPL_TEST_LEVEL.
Stefan, OK to apply?
-- Jules
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fftm.diff
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20060512/19b45132/attachment.ksh>
More information about the vsipl++
mailing list