[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