1 #ifndef SKA_CHEETAH_BRDZ_CUDA_BRDZ_H 2 #define SKA_CHEETAH_BRDZ_CUDA_BRDZ_H 4 #include "cheetah/brdz/cuda/Config.h" 5 #include "cheetah/brdz/Config.h" 6 #include "cheetah/data/FrequencySeries.h" 7 #include "cheetah/utils/Architectures.h" 8 #include "cheetah/utils/AlgorithmBase.h" 9 #include "cheetah/data/ComplexTypeTraits.h" 10 #include "panda/arch/nvidia/DeviceCapability.h" 23 typedef cheetah::Cuda Architecture;
24 typedef panda::nvidia::DeviceCapability<2,0, panda::nvidia::giga/2> ArchitectureCapability;
25 typedef panda::PoolResource<Architecture> ResourceType;
48 template <
typename T,
typename Alloc>
58 #include "cheetah/brdz/cuda/detail/Brdz.cu" 60 #endif //SKA_CHEETAH_BRDZ_CUDA_BRDZ_H Configuration for the BRDZ module.
void process(ResourceType &gpu, data::FrequencySeries< Architecture, typename data::ComplexTypeTraits< Architecture, T >::type, Alloc > &input)
Set to zero frequencies marked as birdies.
Brdz(Config const &impl_config, brdz::Config const &algo_config)
Create a new Brdz instance.
Configuration for the CUDA implementation of the brdz module.
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.
CUDA/Thrust implementation of the Brdz algorithm.