[patch] RBO - Re: [vsipl++] [patch] RBO preview
Jules Bergmann
jules at codesourcery.com
Tue Mar 13 16:22:40 UTC 2007
This is an updated RBO patch, that should be ready to check in. It adds
support for distributed expressions, and has been validated (all tests
pass using the IPP/MKL backends on cugel, and all tests either pass or
use too much VM using the FFTW backend on belgarath).
It also has the following:
- Fft_return_functor is now templatized by block type, rather than
view type (it continues to store the operand by block). This makes
the conversion from distributed block to local block easier.
- Return_block and Fft_return_functor properly hide their member
data, and provide accessor functions. This necessitates using
const references/pointers to FFT Workspaces and FFT backends.
I made the workspace member functions const correct, but did not
attempt this for the backends.
- Diagnostics for ext_data.
- Moves files around: RBO is part of the optimized implementation,
not the ref-impl.
- Adds error checking to fastconv benchmark.
It includes some unrelated benchmark updates for characterizing
performance on the PowerStream.
Ok to commit?
-- Jules
Jules Bergmann wrote:
> This patch
> - adds RBO support,
> - applies it to by-value FFT and FFTM,
> - adds a simple RBO evaluator for expressions like 'A = fft(B)'
> which avoids the temporary and copy,
> - adds fastconv RBO evaluators for the general case using Fftm
> underneath, and the special case when using Cbe Fastconv underneath.
> - adds single-line fastconv case to the fastconv benchmark
>
> This patch is fairly close to ready. However there are a few bits missing:
> - add distributed support for Return_expr_blocks
> - validation (this does work for the fastconv benchmark)
>
> Comments?
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: rbo.diff
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20070313/aa32fbd9/attachment.ksh>
More information about the vsipl++
mailing list