Cheetah - SKA - PSS - Prototype Time Domain Search Pipeline
|
A thrust functor for harmonic summing. More...
Public Member Functions | |
HarmonicSumFunctor (T const *input, T **output) | |
Construct a new instance. More... | |
__host__ __device__ void | operator() (unsigned idx) const |
A thrust functor for harmonic summing.
This is a private class that is only used by the cuda::Hrms object to implement harmonic summing using the for_each capabilites of Thrust.
T | The value type of the series to be summed |
max_harms | The max number of sums to be performed used for compile-time loop unrolling. |
ska::cheetah::hrms::cuda::detail::HarmonicSumFunctor< T, max_harms >::HarmonicSumFunctor | ( | T const * | input, |
T ** | output | ||
) |
|
inline |
For a given index this method will calculate the relevant summed value for that index in each output array.
This is not an optimised implementation of the harmonic summing, but it should be within ~5% of the speed of a texture + tricks implementation (assuming enough information is available at compile time to unroll).
Definition at line 63 of file Hrms.cu.