1 #ifndef SKA_CHEETAH_DRED_CUDA_DRED_H 2 #define SKA_CHEETAH_DRED_CUDA_DRED_H 4 #include "cheetah/dred/cuda/Config.h" 5 #include "cheetah/dred/Config.h" 6 #include "cheetah/dred/cuda/detail/MedianScrunch.cuh" 7 #include "cheetah/dred/cuda/detail/Normaliser.cuh" 8 #include "cheetah/data/FrequencySeries.h" 9 #include "cheetah/data/PowerSeries.h" 10 #include "cheetah/pwft/Pwft.h" 11 #include "cheetah/utils/Architectures.h" 12 #include "cheetah/utils/AlgorithmBase.h" 13 #include "panda/arch/nvidia/DeviceCapability.h" 50 typedef cheetah::Cuda Architecture;
51 typedef panda::nvidia::DeviceCapability<2,0, panda::nvidia::giga/2> ArchitectureCapability;
52 typedef panda::PoolResource<Architecture> ResourceType;
76 template <
typename Alloc>
77 void process(panda::PoolResource<cheetah::Cuda>& resource,
80 data::AccelerationType maximum_acceleration);
86 template <
typename Alloc>
89 data::AccelerationType maximum_acceleration);
90 void median_scrunch5(SeriesType
const& in, SeriesType& out);
91 void linear_stretch(SeriesType
const& in, SeriesType& out,
float step);
95 std::vector< SeriesType > _medians;
96 std::vector< Boundary > _boundaries;
104 #include "cheetah/dred/cuda/detail/Dred.cu" 106 #endif //SKA_CHEETAH_DRED_CUDA_DRED_H Power Spectrum Fourier Transform version / Transform / Module.
A container of Fourier series data.
A helper class to determine the type of complex data for different architectures. ...
CUDA/Thrust implementation of the Dred algorithm.
Configuration object for Dred CUDA implementation.
Some limits and constants for FLDO.
Dred(Config const &impl_config, dred::Config const &algo_config)
Create a new Dred instance.
Class for power series (detected FrequencySeries).
Algorithm configuration for the Dred module.
void process(panda::PoolResource< cheetah::Cuda > &resource, data::FrequencySeries< cheetah::Cuda, ComplexType, Alloc >const &input, data::FrequencySeries< cheetah::Cuda, ComplexType, Alloc > &output, data::AccelerationType maximum_acceleration)
Deredden a complex fourier spectrum.