1 #ifndef SKA_CHEETAH_PWFT_CUDA_PWFT_CUH 2 #define SKA_CHEETAH_PWFT_CUDA_PWFT_CUH 4 #include "cheetah/pwft/cuda/Config.h" 5 #include "cheetah/pwft/Config.h" 6 #include "cheetah/data/FrequencySeries.h" 7 #include "cheetah/data/PowerSeries.h" 8 #include "cheetah/data/Units.h" 9 #include "cheetah/data/ComplexTypeTraits.h" 10 #include "cheetah/utils/Architectures.h" 11 #include "cheetah/utils/AlgorithmBase.h" 12 #include "cheetah/cuda_utils/cuda_thrust.h" 13 #include "panda/arch/nvidia/DeviceCapability.h" 28 typedef cheetah::Cuda Architecture;
29 typedef panda::nvidia::DeviceCapability<2,0, panda::nvidia::giga/2> ArchitectureCapability;
30 typedef panda::PoolResource<Architecture> ResourceType;
59 template <
typename T,
typename InputAlloc,
typename OutputAlloc>
79 template <
typename T,
typename InputAlloc,
typename OutputAlloc>
92 #include "cheetah/pwft/cuda/detail/Pwft.cu" 94 #endif //SKA_CHEETAH_PWFT_CUDA_PWFT_H void process_direct(ResourceType &gpu, data::FrequencySeries< Architecture, typename data::ComplexTypeTraits< cheetah::Cuda, T >::type, InputAlloc > const &input, data::PowerSeries< Architecture, T, OutputAlloc > &output)
Form power spectrum using absolute squared.
Cuda implementation of the Power Spectrum Fourier Transform module.
Pwft(Config const &config, pwft::Config const &algo_config)
Construct a new instance.
void process_nn(ResourceType &gpu, data::FrequencySeries< Architecture, typename data::ComplexTypeTraits< cheetah::Cuda, T >::type, InputAlloc > const &input, data::PowerSeries< Architecture, T, OutputAlloc > &output)
Form power spectrum using absolute squared with nearest neighbour comparison.
A helper class to determine the type of complex data for different architectures. ...
A container of Fourier series data.
Some limits and constants for FLDO.
Class for power series (detected FrequencySeries).