[vsipl++] [patch] HPEC CFAR and SVD combined patches
Jules Bergmann
jules at codesourcery.com
Thu May 25 15:30:18 UTC 2006
Don McCoy wrote:
> For convenience, I've put together these two recent patches along with
> some other minor changes needed for building the HPEC benchmarks on the
> Mercury system.
>
> Relative to the previously posted patch, the changes to the CFAR
> benchmark were only to correct a usage of a non-const array size and
> (also for SVD) the modification needed to elimate a sign-change warning
> on the r/wiob_per_point() functions (which was also done to FIR Bank).
Don,
This looks good, please check it in (with one exception, see below).
-- Jules
> * src/vsip/signal-window.cpp: Added instantiations of three versions
> of vsip::impl::cost(Block, LP) to include these in the library
> (because of the way the GreenHills compiler behaves).
What benchmark failed to build because of these missing instantiations?
We may need to fix this another way (making vsip::impl::cost inline is
the most likely solution) if the set of instantiations needs to grow
further.
> Index: src/vsip/signal-window.cpp
> ===================================================================
> RCS file: /home/cvs/Repository/vpp/src/vsip/signal-window.cpp,v
> retrieving revision 1.8
> diff -c -p -r1.8 signal-window.cpp
> *** src/vsip/signal-window.cpp 14 May 2006 20:57:05 -0000 1.8
> --- src/vsip/signal-window.cpp 25 May 2006 06:43:17 -0000
> *************** kaiser( length_type len, scalar_f beta )
> *** 231,235 ****
> --- 231,241 ----
> #pragma instantiate bool vsip::impl::data_access::is_direct_ok<impl::Fast_block<1, complex<float>, impl::Layout<1, row1_type, impl::Stride_unit_dense, impl::Cmplx_split_fmt>, Local_map>, impl::Rt_layout<1> >(const impl::Fast_block<1, complex<float>, impl::Layout<1, row1_type, impl::Stride_unit_dense, impl::Cmplx_split_fmt>, Local_map> &, const impl::Rt_layout<1>&)
> #endif
>
> + #pragma instantiate int vsip::impl::cost<vsip::impl::Layout<1, vsip::tuple<0, 1, 2>, vsip::impl::Stride_unknown, vsip::impl::Cmplx_inter_fmt>, vsip::impl::Component_block<vsip::Dense<1, std::complex<float>, vsip::tuple<0, 1, 2>, vsip::Local_map>, vsip::impl::Real_extractor> >( vsip::impl::Component_block<vsip::Dense<1, std::complex<float>, vsip::tuple<0, 1, 2>, vsip::Local_map>, vsip::impl::Real_extractor> const& block, vsip::impl::Layout<1, vsip::tuple<0, 1, 2>, vsip::impl::Stride_unknown, vsip::impl::Cmplx_inter_fmt> const& layout)
> +
> + #pragma instantiate int vsip::impl::cost<vsip::impl::Layout<1, vsip::tuple<0, 1, 2>, vsip::impl::Stride_unit_dense, vsip::impl::Cmplx_inter_fmt>, vsip::Dense<1, std::complex<float>, vsip::tuple<0, 1, 2>, vsip::Local_map> >(const vsip::Dense<1, std::complex<float>, vsip::tuple<0, 1, 2>, vsip::Local_map> & block, const vsip::impl::Layout<1, vsip::tuple<0, 1, 2>, vsip::impl::Stride_unit_dense, vsip::impl::Cmplx_inter_fmt> & layout)
> +
> + #pragma instantiate int vsip::impl::cost<vsip::impl::Layout<1, vsip::tuple<0, 1, 2>, vsip::impl::Stride_unit_dense, vsip::impl::Cmplx_inter_fmt>, vsip::impl::Fast_block<1, std::complex<float>, vsip::impl::Layout<1, vsip::tuple<0, 1, 2>, vsip::impl::Stride_unit_dense, vsip::impl::Cmplx_inter_fmt>, vsip::Local_map> >(const vsip::impl::Fast_block<1, std::complex<float>, vsip::impl::Layout<1, vsip::tuple<0, 1, 2>, vsip::impl::Stride_unit_dense, vsip::impl::Cmplx_inter_fmt>, vsip::Local_map> & block, const vsip::impl::Layout<1, vsip::tuple<0, 1, 2>, vsip::impl::Stride_unit_dense, vsip::impl::Cmplx_inter_fmt> & layout)
> +
> } // namespace vsip
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
More information about the vsipl++
mailing list